如果only few edit texts
使用textchangeListener或比较文本以查找文本是否已更改,如果我more than 20 edittext
如何知道编辑文本是否已更改
我在这里发现几乎相同的问题1. How to check if an EditText was changed or not? 2. Knowing when Edit text is done being edited这很有帮助......有任何简单的方法可以做到这一点。
String temp = "aa";
if(temp.equals(edittext.getText().toString()) {
Log.e("Not Change",temp);
} else {
Log.e("Changed Value",edittext.getText().toString());
}
提前致谢...
答案 0 :(得分:2)
尝试以下内容:
编辑:
n1I1 = (EditText) findViewById(R.id.etN1I1);
n1I2 = (EditText) findViewById(R.id.etN1I2);
n1I3 = (EditText) findViewById(R.id.etN1I3);
TextWatcher textWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Toast.makeText(yourActivity.this,"changed",0).show();
}
@Override
public void afterTextChanged(Editable editable) {
}
};
ArrayList<EditText> firstList = new ArrayList<EditText>();
firstList.add(n1I1);
firstList.add(n1I2);
firstList.add(n1I3);
for(int i=0;i<firstList.size();i++)
{
firstList.get(i).addTextChangedListener(textWatcher);
}
答案 1 :(得分:2)
请为所有Edittext制作一个通用的方法:
private void checkEditText(String temp, EditText edittext){
if(temp.equals(edittext.getText().toString()) {
Log.e("Not Change",temp);
} else {
Log.e("Changed Value",edittext.getText().toString());
}
}
使用switch case为单个Edittext调用此方法。
如果你有任何问题,请告诉我。