我一直试图让它工作几个小时,但我找不到任何合适的解决方案。
事情是这样的:我创建了一个带有 2 个按钮的 AlertDialog,并在每个按钮上设置了一个 OnClickListener。
问题是我必须按下后退按钮才能“单击”警报按钮之一。
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
你看到这里有什么不好的地方吗?
/* ============= 编辑 ============= */
好的,我想我已经弄清楚发生了什么。
事实上,我尝试在扩展对话框类的 FbDialog 中创建此对话框。
也许Android不喜欢盗梦空间......
知道如何解决这个问题吗?