Potřeboval bych prosím poradit po několika hodinách snažení, hledání na internetu řešení jsem nenašil nic kromě toho co vím, a tuny nefungujících řešení.
Zkrátka potřeboval bych v textwatcheru v události afterTextChanged po změně textu updatovat obsah edittexu na který je textwatcher navázán. Avšak, po updatu edittextu vznikne nekonečná smyčka ( ===> Overflow), tak si musím zavést kontrolu "zpětného volání". Tu kontrolu jsem řešil hodně dlouho a hází si to písmenka které píšu do edittextu tam chce.
Zkoušel opravdu hodně řešení třeba, rekurzivní přerušení údálosti (sice fungovalo ale aplikace se hodně trhala --> Pomohlo by samostatné vlákno?)
Dále vlastnost edittextu inputtype na "TextNoSuggetion", která by měla zamezit opakovanému volání funkce. Nefunguje aneb klasická kompabilita android (To neumlovim o tom že jsem k textwatcheru přešel z toho důvodu že na událost Onkey nefunguje je SW klávesnicích.
Můj pokus o nějaký systém zabranující stackoverflow jak jsem se zmínil vstupní text si skáče sem a tam
@Override
public void afterTextChanged(Editable s)
{
if(TextBox.getText().length() != prevText.length())
{
if(bTxTrigger)
{
TextBox.setText( F.Format(TextBox.getText().toString(), klicslova, barvy) );
bTxTrigger = false;
}else{
bTxTrigger = true;
}
}else{
bTxTrigger = false;
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
prevText = TextBox.getText().toString();
}
Android 4.2.2