SOに似た質問がありますが、私の問題は別の場所にあると思います。私もクラスのメンバ変数持つstatic final int DAYS_DIALOG_ID = 1;
AlertDialog(MultiChoiceチェックボックス)を使用するとアプリケーションがクラッシュする
:
が、私は私のダイアログのユニークなIDセット持っている私のオーバーライドされたメソッドonCreate()
でprivate TextView textViewSelectDayOfWeek;
を、私は持っている:だから
textViewSelectDayOfWeek = (TextView) findViewById(R.id.textViewSelectDayOfWeek);
textViewSelectDayOfWeek.setOnClickListener(this);
基本的には、私のTextViewはXMLファイルで変数に定義されており、リスナを設定しています。私onClick(view v)
で
は、私のダイアログを開いて対処することになっているのTextViewのクリックを扱うことになっている以下の場合とスイッチがあります(前述のスイッチはv.getId()
を使用することに注意してください):
case R.id.textViewSelectDayOfWeek:
showDialog(DAYS_DIALOG_ID);
break;
私のオーバーライドされたメソッドonCreateDialog(int id)
には、提供されたIDを使用するswitch文も含まれています。
case DAYS_DIALOG_ID:
final CharSequence[] daysOfWeek = { "@string/stringMonday"}; // 7 days, skimming unimportant stuff
return new AlertDialog.Builder(this)
.setTitle("@string/stringSelectDayDialogTitle")
.setMultiChoiceItems(daysOfWeek,
new boolean[] {true, true, true, true, true}, // Sets first 5 days as checked by default
new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int day, boolean isChecked) {
Toast.makeText(getApplicationContext(), daysOfWeek[day], Toast.LENGTH_SHORT).show();
}
})
.create();
さて、私はID textViewSelectDayOfWeek、私のアプリがクラッシュするとのTextViewをクリックした場合:この特定の問題の原因となるダイアログを扱う場合には、次のようです。
私は私がshowDialog(DAYS_DIALOG_ID)
を呼び出す直前にonClick()
にメッセージをINGのToast
を試してみましたが、メッセージは私のアプリがクラッシュする前に、表示されません。
この問題を解決するにはどうすればよいですか?私は自分のコードのすべての重要な部分を述べたが、助けてくれるものを要求するよう奨励していると思う。
ありがとうございます。
クラッシュ時のエラーは何ですか? –
@ coder_For_Life22私は自分の携帯電話(2.2 Androidプラットフォーム)で起動しようとしていましたが、通常は「予期せず停止しました」。 – ScarletAmaranth
携帯電話が開発マシンに接続されている場合は、ddms --logcatに例外メッセージが表示されます。そのスタックトレースは本当に役に立ちます。 – kosa