TabActivity を使用して Android アプリを作成しています。TabActivity には、アラート ダイアログ ボックスをポップアップしたいボタンをクリックするボタンがあります。アラート ダイアログ ボックスにスピナーを追加する必要があります。
ボタンクリックのコードを以下に示します
addMedicalRCD.setOnClickListener(new OnClickListener()
{
public void onClick(View arg0)
{
View layout = inflater.inflate(R.layout.patient_add_medical_record, null);
spinnerMedicalType=(Spinner)layout.findViewById(R.id.spinner_medicalRCD_type);
addItemsT0SpinnerMedicalRCDType();
alertAddMedicalRCD = new AlertDialog.Builder(getParent());
alertAddMedicalRCD.setTitle("Add new medical record");
alertAddMedicalRCD.setView(layout);
}
});
メソッド addItemsT0SpinnerMedicalRCDType(); の本体は次のとおりです。
private void addItemsT0SpinnerMedicalRCDType()
{
String[] s =new String[] {"Prescription","Email","Doctor rounds","Phone","Other"};
ArrayAdapter<String>adapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_item, s);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerMedicalType.setAdapter(adapter);
}
そして onCreate メソッドで私は定義しましたcontext=this;
しかし、スピナーをクリックしてもオプションが表示されません。どうすればこの問題を解決できますか。私を助けてください
私のログキャット
03-07 13:25:29.501: E/AndroidRuntime(1339): FATAL EXCEPTION: main
03-07 13:25:29.501: E/AndroidRuntime(1339): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.view.ViewRoot.setView(ViewRoot.java:531)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.app.Dialog.show(Dialog.java:241)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.app.AlertDialog$Builder.show(AlertDialog.java:802)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.widget.Spinner.performClick(Spinner.java:260)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.view.View$PerformClick.run(View.java:9080)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.os.Handler.handleCallback(Handler.java:587)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.os.Handler.dispatchMessage(Handler.java:92)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.os.Looper.loop(Looper.java:123)
03-07 13:25:29.501: E/AndroidRuntime(1339): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-07 13:25:29.501: E/AndroidRuntime(1339): at java.lang.reflect.Method.invokeNative(Native Method)
03-07 13:25:29.501: E/AndroidRuntime(1339): at java.lang.reflect.Method.invoke(Method.java:507)
03-07 13:25:29.501: E/AndroidRuntime(1339): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-07 13:25:29.501: E/AndroidRuntime(1339): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-07 13:25:29.501: E/AndroidRuntime(1339): at dalvik.system.NativeStart.main(Native Method)