私はそれを何時間も機能させようとしてきましたが、適切な解決策が見つかりません。
ここに問題があります: 2 つのボタンを持つ AlertDialog を作成し、それぞれに 1 つの OnClickListener を設定します。
問題は、アラートのボタンの 1 つを「クリック」できるようにするには、戻るボタンを押さなければならないことです。
Context myActivity = getContext();
OnClickListener posClickListener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("AlertBuilder", "positive button");
dialog.cancel();
dialog.dismiss();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.facebook.katana"));
getContext().startActivity(intent);
}
};
OnClickListener negClickListener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("AlertBuilder", "negative button");
dialog.cancel();
dialog.dismiss();
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(myActivity);
builder.setMessage("Impossible de lancer l'application Facebook.\r\nVeuillez vérifier que vous avez installé et mis à jour l'application Facebook.")
.setCancelable(false)
.setNegativeButton("Retour", negClickListener)
.setPositiveButton("Télécharger", posClickListener);
AlertDialog alert = builder.create();
alert.show();
alert.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK)); // I tried this to simulate the back button action, but it doesn't work
ここに何か悪いところが見えますか?
/* ============= 編集 ============= */
わかりました、何が起こっているのか理解できたと思います。
実際、Dialog クラスを拡張する FbDialog 内にこのダイアログを作成しようとしています。
たぶん、Androidはインセプションが好きではありません...
これを整理する方法はありますか?