Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
EditText et = (EditText) v.findViewById(R.id.number); 返回 null,隨後調用 et.getText() 拋出 NPE。
android:id="@+id/number" 與代碼 R.id.number 不一致(大小寫、拼寫)。Button.onClick(View v) 中,v 是被點擊的 Button,調用 v.findViewById 只會在 Button 及其子視圖中查找。若 EditText 不在 Button 內部,應使用 findViewById(R.id.number)(Activity/Fragment 根視圖)或 getView().findViewById(...)(Fragment)。setContentView 調用錯誤布局,或 Fragment onCreateView 返回錯誤根視圖。bind。findViewById 後立即加斷點或日誌:EditText et = findViewById(R.id.number); // 使用正確根視圖
Log.d("DEBUG", "et=" + et); // 為 null 則上述原因之一
findViewById 的上下文(Activity/Fragment/View)正確。ViewBinding 或 DataBinding 替代手動 findViewById,編譯期即可發現 ID 錯誤。onCreate/onViewCreated 中初始化視圖引用,避免在事件回調中重複查找。