我在一個activity中有四個按鈕,所以我使用了一個onClick方法。其中一人(那是問題herEe應該簡單地顯示一個對話框,裏面兩個微調這裏是代碼:在一個onClick中放置一個微調器
public void onClick(View view) {
switch (view.getId()) {
case R.id.bAddNew:
// first button - not related
break;
case R.id.bAdvancedSettings:
// Spinner 1
plan = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> spinner1Adapter = ArrayAdapter
.createFromResource(this, R.array.paymentplan,
android.R.layout.simple_spinner_item);
spinner1Adapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
plan.setAdapter(spinner1Adapter);
plan.setSelection(0);
plan.setOnItemSelectedListener(new MyOnItemSelectedListenerPlan());
// Spinner 2
display = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> spinner2Adapter = ArrayAdapter
.createFromResource(this, R.array.quickview,
android.R.layout.simple_spinner_item);
spinner2Adapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
display.setAdapter(spinner2Adapter);
display.setSelection(0);
display.setOnItemSelectedListener(new MyOnItemSelectedListenerDisplay());
final Dialog dialog = new Dialog(ManageDebts.this);
dialog.setContentView(R.layout.advanced);
dialog.setTitle("Advanced Details");
dialog.setCancelable(true);
Button Submit = (Button) findViewById(R.id.buttonAdvancedSubmit);
Submit.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
break;
// next two buttons
}
下面是logcat的我越來越:
11-30 09:50:52.305: E/AndroidRuntime(10747): FATAL EXCEPTION: main
11-30 09:50:52.305: E/AndroidRuntime(10747): java.lang.IllegalStateException: Could not execute method of the activity
11-30 09:50:52.305: E/AndroidRuntime(10747): at android.view.View$1.onClick(View.java:3597)
11-30 09:50:52.305: E/AndroidRuntime(10747): at android.view.View.performClick(View.java:4202)
11-30 09:50:52.305: E/AndroidRuntime(10747): at android.view.View$PerformClick.run(View.java:17340)
11-30 09:50:52.305: E/AndroidRuntime(10747): at android.os.Handler.handleCallback(Handler.java:725)
11-30 09:50:52.305: E/AndroidRuntime(10747): at android.os.Handler.dispatchMessage(Handler.java:92)
11-30 09:50:52.305: E/AndroidRuntime(10747): at android.os.Looper.loop(Looper.java:137)
11-30 09:50:52.305: E/AndroidRuntime(10747): at android.app.ActivityThread.main(ActivityThread.java:5039)
11-30 09:50:52.305: E/AndroidRuntime(10747): at java.lang.reflect.Method.invokeNative(Native Method)
11-30 09:50:52.305: E/AndroidRuntime(10747): at java.lang.reflect.Method.invoke(Method.java:511)
11-30 09:50:52.305: E/AndroidRuntime(10747): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
11-30 09:50:52.305: E/AndroidRuntime(10747): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
11-30 09:50:52.305: E/AndroidRuntime(10747): at dalvik.system.NativeStart.main(Native Method)
11-30 09:50:52.305: E/AndroidRuntime(10747): Caused by: java.lang.reflect.InvocationTargetException
11-30 09:50:52.305: E/AndroidRuntime(10747): at java.lang.reflect.Method.invokeNative(Native Method)
11-30 09:50:52.305: E/AndroidRuntime(10747): at java.lang.reflect.Method.invoke(Method.java:511)
11-30 09:50:52.305: E/AndroidRuntime(10747): at android.view.View$1.onClick(View.java:3592)
11-30 09:50:52.305: E/AndroidRuntime(10747): ... 11 more
11-30 09:50:52.305: E/AndroidRuntime(10747): Caused by: java.lang.NullPointerException
11-30 09:50:52.305: E/AndroidRuntime(10747): at com.---.---.ManageDebts.onClick(ManageDebts.java:211)
11-30 09:50:52.305: E/AndroidRuntime(10747): ... 14 more
線211是
plan.setAdapter(spinner1Adapter);
任何人都可以看到的問題是什麼?我已經做了很多對話的和微調,但這種爲t他第一次在一起。不知道我是否不知道如何做到這一點,或者它只是我忽視的小事。
你是否爲'Dialog'充氣佈局? – tolgap
是不是這樣做? 'dialog.setContentView(R.layout.advanced);' – KickingLettuce