0
我从我的数据库呈现值并将这些值放在各自的EditText字段中,因此通常允许用户修改其保存数据。如何在TextWatcher中将当前值与旧值进行比较?
我的页面上有一个SAVE按钮,默认情况下禁用。只有在EditText字段真的被修改时才应该启用它。
当与数据库值进行比较,
- 如果编辑文本值被改变 - 修改
- 如果的EditText值进行编辑,但没有改变(用户可以复制粘贴相同的值) - 不修改。
这里是我的代码,
EditText text1 = (EditText) findViewById(R.id.text1);
EditText text2 = (EditText) findViewById(R.id.text2);
EditText text3 = (EditText) findViewById(R.id.text3);
EditText text4 = (EditText) findViewById(R.id.text4);
EditText text5 = (EditText) findViewById(R.id.text5);
ArrayList<EditText> editTextList = new ArrayList();
editTextList.add(text1);
editTextList.add(text2);
editTextList.add(text3);
editTextList.add(text4);
editTextList.add(text5);
for(EditText e : editTextList)
e.addTextChangedListener(textWatcher);
private TextWatcher textWatcher = new TextWatcher() {
public void afterTextChanged(Editable s){}
public void beforeTextChanged(CharSequence s, int start, int count, int
after) {}
public void onTextChanged(CharSequence s, int start, int before,int
count) {}
};
有什么办法到数据库值与当前的EditText给定值进行比较?
注:
由于TextWatcher功能适用于所有的EditText,我想要做的普通的比较。
感谢您的评论。你介意举个例子吗? – irigs
全局变量示例:public Activity extends AppCompactActivity {} – VITROXMAN
谢谢!它按预期工作。 – irigs