我有一个 MainActivity.class 我在其上执行 setContentView,这是我以前使用的三个变量
EditText labelText = (EditText) findViewById(R.id.label_field);
EditText phoneText = (EditText) findViewById(R.id.phone_field);
Spinner deviceTypeSpinner = (Spinner) findViewById(R.id.device_type_spinner);
Button registerButton = (Button) findViewById(R.id.register_button)
现在,我有一个扩展异步任务的单独类,我正在尝试从异步任务(位于另一个文件中的类)中修改上述字段。
为了做到这一点,我将活动的上下文传递给异步任务并执行以下步骤
MainActivity activity = (MainActivity)context;
Button buttonRegister =(Button)activity.findViewById(R.id.register_button);
EditText labelText = (EditText)activity.findViewById(R.id.label_field);
buttonRegister.setEnabled(true);
labelText.setFocusable(true);
但是 buttonRegister 返回 null 并且应用程序崩溃了,谁能告诉我哪里出错了,
java.lang.NullPointerException
at com.yantranet.minixagent.requests.DeviceCreateRequest$1.onClick(DeviceCreateRequest.java:237)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4895)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
at dalvik.system.NativeStart.main(Native Method)