私はダイアログボックスを作成していますが、(これは)isntを使っています。これまではダイアログボックスを呼び出すボタンでしたが、呼び出されたダイアログボックス内のボタンは別のダイアログを呼び出す必要がありました。ダイアログのdialogdelconは問題のあるものです。ここで 私はどんなコンテキストが必要ですか?
コードです:this
がボタン
click listner
ではなく、あなたのクラス
Object
私はダイアログボックスを作成していますが、(これは)isntを使っています。これまではダイアログボックスを呼び出すボタンでしたが、呼び出されたダイアログボックス内のボタンは別のダイアログを呼び出す必要がありました。ダイアログのdialogdelconは問題のあるものです。ここで 私はどんなコンテキストが必要ですか?
コードです:this
がボタン
click listner
ではなく、あなたのクラス
Object
getApplicationContext()
またはYourActictyName.this
を使用して、代わりにgetApplicationContext()
を追加this
の場合は問題ありません。これは、ボタンコンテキスト内のthis
がボタン環境を参照するためです。
このコードはonCreate()
方法で、または似ている場合を指しているので
case R.id.delappt:
//rmvall();
final Dialog dialogdelsel = new Dialog(this);
dialogdelsel.setContentView(R.layout.delsel);
dialogdelsel.setTitle("What would you like to do?");
dialogdelsel.setCancelable(true);
Button btndelsel = (Button) dialogdelsel.findViewById(R.id.btndelsel);
btndelsel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// delete selected code here.
}
});
Button btndelall = (Button) dialogdelsel.findViewById(R.id.btndelall);
btndelall.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// delete all code here.
final Dialog dialogdelcon = new Dialog();
dialogdelcon.setContentView(R.layout.delcon);
dialogdelcon.setTitle("Deletion Confirmation");
dialogdelcon.setCancelable(true);
Button buttoncnclok = (Button) dialogdelcon.findViewById(R.id.btndelcon);
buttoncnclok.setOnClickListener(new OnClickListener() {
// on click for cancel button
@Override
public void onClick(View v) {
dialogdelcon.dismiss();
}
});
dialogdelcon.show();
}
});
dialogdelsel.show();
break;
2つのダイアログ間の分離を改善するには、onClickハンドラからshowDialog(R.id.delapptcon)を呼び出すことをお勧めします。次に、アクティビティのonCreateDialogに新しいダイアログをロードします。このようにして、より再利用可能なダイアログを作成し、現在のスコープの問題を回避できます。
どこで失敗するのですか?私は、あなたがアクティビティコンテキストmyActivityName.thisが必要であると推測しています。 – bbedward
私の活動名は正確に何ですか?私はまだアンドロイドに新しいです。 – nexus490