我一直在努力让它工作几个小时,但我找不到任何合适的解决方案。AlertDialog OnCLickListener需要后退按钮才能激活
下面是这个事情:我创建了一个带有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中创建对话框,该对话框扩展了Dialog类。
也许Android不喜欢以前...
任何想法如何解决这个问题?
事实上,这是我尝试的第一个代码,但没有工作(它做相同的,但我也没多想按后退键)。 所以我试图拿出听众,以防万一... – viki53 2012-07-24 07:58:31
我试过你的代码,_just在case_中,但结果是完全一样的:我仍然要按Back _“button”_... – viki53 2012-07-24 08:06:41