我的应用程序可以在特定时间拥有“x”个 EditText 字段。我添加了动态的新 EditText,因此它们的数量可能会有所不同。我希望我所有的 EditText 都有一个监听器,它可以告诉我哪个 View ( edittext ) 已更改。
我搜索了一下,发现:
private TextWatcher textWatcher = new TextWatcher()
但问题在于它没有参数 View v 来告诉我当前更改了什么 View :
OnFocusChangeListener listener = new OnFocusChangeListener() .....public void onFocusChange(final View v, ....
还发现:
OnEditorActionListener
有一个:
public boolean onEditorAction(TextView v, (parammeter)
但它不会在用户输入时触发,完成输入...
是否有一个监听器可以用于我所有的编辑文本(不管它们的数量)并且有一个 View v 参数?
对不起我的英语...
任何帮助都是好的
我找到了一个更适合我的解决方案:
我创建了一个类:
public class Whowho implements TextWatcher
{
private View view;
private Activity act;
public Whowho(EditText view, Activity activ)
{
this.view = view;
this.act=activ;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void afterTextChanged(Editable s)
{
EditText ed = (EditText) act.findViewById(view.getId());
....
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
.....
((TextView) view).setCompoundDrawablesWithIntrinsicBounds(R.drawable.ok, 0, 0, 0);
((TextView) view).setText(...);
}
我是这样使用它的:
ed.addTextChangedListener(new Whowho(ed,CLASS.this));
对我来说效果很好。希望对其他人有帮助