這就是我想要做的: 我有一個活動,其中有20-25個EditText。當EditText的文本改變時,一些相應的TextView的文本必須改變。即用戶輸入他每月的雜貨支出,所以顯示其年度雜貨開支的TextView得到更新,每月和每年的總支出TextView也得到更新。在Android上觀察多個EditText進行文本更改
我知道我可以用TextWatcher.But做到這一點,那麼我需要爲每個EditText單獨的TextWatcher。即使我編寫了一個自定義的TextWatcher來保存EditText的Id,並在switch-case塊中執行適當的操作,但在這種情況下,我需要爲每個EditText創建一個新的類實例。這不是非常低效和消耗內存嗎?
我一直希望能有像OnClickListener這樣的東西,所以我只需要重寫一些函數,它將執行所有按鈕在我的活動中的所有任務,我只需要重寫onClick(View v)函數並完成。有沒有辦法做到這一點?
你能解釋我怎麼才能得到觸發事件的'EditText'的id? – Mehedi
@Mehedi擁有該ID的唯一方法是將其傳遞給'TextWatcher'實現,就像您在問題中已經提到的那樣。我已經編輯了我以前的示例以合併id,你可以在https://gist.github.com/4140851找到它。不要擔心內存佔用或性能問題,那些'TextWatcher'實例不會成爲問題。 – Luksprog
感謝您的評論。我想我沒有別的選擇去嘗試除此之外的其他選擇。我會嘗試一下,讓你知道它是如何去的。 – Mehedi