我試圖從我的MainActivity
類中分離事件處理代碼。因此,我做了一個名爲ButtonHandler
類,它實現View.OnClickListener
:Android onClick未獲取視圖
public class ButtonHandler implements View.OnClickListener {
@Override
public void onClick(View v){
EditText txtCorpoToday = (EditText) v.findViewById(R.id.txtCorpoToday);
txtCorpoToday.setText("changing text");
}
但由於一些奇怪的原因,應用程序在emulator
壓碎。我試圖找出問題的所在,但logcat console
是給我這個錯誤:
7-22 01:11:58.669 2823-2839/android.process.acore I/ContactLocale﹕ AddressBook Labels [en-US]: [, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, , А, Б, В, Г, Д, Ђ, Е, Є, Ж, З, И, І, Ї, Й, Ј, К, Л, Љ, М, Н, Њ, О, П, Р, С, Т, Ћ, У, Ф, Х, Ц, Ч, Џ, Ш, Щ, Ю, Я, , א, ב, ג, ד, ה, ו, ז, ח, ט, י, כ, ל, מ, נ, ס, ע, פ, צ, ק, ר, ש, ת, , ا, ب, ت, ث, ج, ح, خ, د, ذ, ر, ز, س, ش, ص, ض, ط, ظ, ع, غ, ف, ق, ك, ل, م, ن, ه, و, ي, , ก, ข, ฃ, ค, ฅ, ฆ, ง, จ, ฉ, ช, ซ, ฌ, ญ, ฎ, ฏ, ฐ, ฑ, ฒ, ณ, ด, ต, ถ, ท, ธ, น, บ, ป, ผ, ฝ, พ, ฟ, ภ, ม, ย, ร, ฤ, ล, ฦ, ว, ศ, ษ, ส, ห, ฬ, อ, ฮ, , ㄱ, ㄴ, ㄷ, ㄹ, ㅁ, ㅂ, ㅅ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ, , あ, か, さ, た, な, は, ま, や, ら, わ, #, ]
07-22 01:20:28.870 2823-2830/android.process.acore I/art﹕ Debugger is no longer active
07-22 02:12:42.475 2823-2837/android.process.acore V/BackupServiceBinder﹕ doBackup() invoked
07-22 02:12:42.477 2823-2837/android.process.acore E/DictionaryBackupAgent﹕ Couldn't read from the cursor
07-22 04:29:17.419 2823-2830/android.process.acore I/art﹕ Debugger is no longer active
最後,我這樣做是因爲隨着應用的不斷增長,我覺得我的MainActivity
類越來越臃腫,這是混亂。最好的辦法是什麼?
謝謝!
我似乎無法調用'getActivity()',因爲我在一個單獨的類。 – Jim
所以你需要使用'Context'而不是'getActivity()' –
我所有的'View'都已經存在,所以我不確定是否必須再次膨脹它?另外,我只是從'Fragments'的'onCreate'提供'ButtonHandler'類的'EditText'實例。這會是一個好方法嗎? – Jim