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