私は知っている、同様の質問が尋ねられて、私はすでに私が見つけることができたすべてを見てきましたが、私はこの問題に対する答えを見つけることができませんでした。ここでAlertDialogを使用しないカスタムダイアログでキャンセルボタンを実装するにはどうすればよいですか?
のコードです:
protected Dialog onCreateDialog(int id)
{
Dialog dialog = new Dialog(this);
switch(id)
{
case R.layout.database_feed:
dialog.setContentView(R.layout.database_feed);
((Button) dialog.findViewById(R.id.discard_button)).setOnClickListener(
new View.OnClickListener()
{
//@Override
public void onClick(View v)
{
//dialog.cancel();
}
}
);
break;
}
return dialog;
}
私は単純にR.layout.database_feedボタンをクリックでダイアログを閉じたいです。しかし、私はonClickメソッド内のダイアログにアクセスしていません。私は本当に混乱して感じる。
AlertDialogやDialogBuilderを使用したくないのですが、ダイアログ内にAlertDialogなどで実装するのが難しい他のものがあるためです。 また、私は既にDialogのための別のアクティビティを作成するための解決策を知っていますが、実際には私がここで試している方法でどのように動作するのか知りたいのです。 さらに、私はすでにDialogInterface.OnClickListener()を使用しようとしましたが、setOnClickListener(...) - メソッドでは使用できません。
ダイアログをキャンセルすることはそれほど難しいことではありませんが、私はそれを取得しません。
ヒント/助けをいただければ幸いです。
final Dialog dialog = new Dialog(this);
へ
Thxを
完璧です。私は何時間もそれを探していた。ありがとう! – Michi
余分なヒント:eclipseでは、匿名クラス内から変数にアクセスする必要があるときに変数finalを宣言するのがデフォルトの自動修正アクションです。 – njzk2