我一直在努力讓它工作幾個小時,但我找不到任何合適的解決方案。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