我正在呈现数据库中的值,并将这些值放置在相应的EditText字段中,因此通常允许用户修改其保存数据。
我的页面上有一个保存按钮,默认情况下禁用了。仅在真正修改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共有的,因此我想进行比较常见。
您必须用全局变量自己控制它。或反应性对象或使用数据框。