アクティビティには 4 つのボタンがあるため、onClick メソッドを使用しています。そのうちの 1 つ (これが問題です。herEe は、内部に 2 つのスピナーを含むダイアログを表示する必要があります。コードは次のとおりです。
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);
誰が問題が何であるかを見ることができますか? セリフやスピナーは何回もやったけど、一緒にやるのは初めて。これを行う方法がわからないだけなのか、見落とした小さなことなのかはわかりません。