相关疑难解决方法(0)

如何在不触发Text Watcher的情况下更改EditText文本?

我有一个EditText带有客户文本观察器的字段.在一段代码中,我需要更改我使用的EditText中的值.setText("whatever").

问题是,一旦我进行了更改,afterTextChanged调用的方法就会创建一个无限循环.如何在不触发afterTextChanged的情况下更改文本?

我需要在afterTextChanged方法中的文本,所以不建议删除TextWatcher.

java android event-handling infinite-loop

88
推荐指数
8
解决办法
5万
查看次数

如何删除添加了addTextChangedListener的所有侦听器

我有一个ListView每行有EditText控件的地方.我想在TextChangedListener每一行添加一个; 一个包含额外数据的数据,它说明了哪一行EditText.问题是,当getView被调用时,TextWatchers会添加多个; 因为convertView已经有一个TextWatcher(和一个指向不同的行).

MyTextWatcher watcher = new MyTextWatcher(currentQuestion);
EditText text = (EditText)convertView.findViewById(R.id.responseText);
text.addTextChangedListener(watcher);
Run Code Online (Sandbox Code Playgroud)

MyTextWatcher是我的班级实施TextWatcher; 并处理文本事件.CurrentQuestion让我知道我正在采取哪一行.当我输入框中; TextWatcher调用多个实例.

有没有办法TextWatchers在添加新的之前删除它?我看到了removeTextChangedListener方法,但这需要TextWatcher传入一个特定的,我不知道如何获得指针TextWatcher已经存在的指针.

android listview textwatcher android-edittext

52
推荐指数
6
解决办法
4万
查看次数