這不僅僅是一個真正的問題,更是一個用戶體驗問題,但如果我能解決這個問題,它會很好。AlertDialog中的單選按鈕在觸摸時不會改變
我創建一個單一選擇AlertDialog
類似圖像...
我用它來創建它的代碼是...
private void createGuideViewChooserDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Guide View");
builder.setSingleChoiceItems(guideViewChooserDialogItems, currentGuideView, this);
guideViewChooserDialog = builder.create();
guideViewChooserDialog.show();
}
...等等基本上我使用int
調用currentGuideView
來設置哪個單選按鈕顯示爲選中,我的Activity
執行DialogInterface.OnClickListener
,因此在調用中使用this
setSingleChoiceItems(...)
。
onClick(...)
聽衆根據所選物品做一些簡單的事情,然後調用guideViewChooserDialog.cancel()
。
我遇到的問題是當我觸摸其中一個列表項目時,該項目被簡要地突出顯示以確認觸摸,但AlertDialog
消失而未顯示所選無線電按鈕的改變。
一切工作正常,我的onClick(...)
聽衆得到哪些項目被觸摸,但它只是有點令人不安,對話消失沒有看到單選按鈕選擇的變化。
我在HTC Desire w/Android v2.2上測試這個。這是計劃中的行爲還是在v2.2中的一個錯誤或HTC的實施?有什麼我可以(或應該)這樣做,在對話框消失之前,所選項目的無線電按鈕被正確顯示爲選定的?
請您粘貼完整的代碼。當我們必須猜測這些變量涉及什麼時,很難弄清楚...... – LuxuryMode
您需要猜測哪些變量? 'guideViewChooserDialogItems'是文本的CharSequence []',正如我在問題中提到的,'currentGuideView'是一個'int'(0-2之間),用於設置當AlertDialog爲第一個時要選擇哪個單選按鈕所示。重點在於它的作用,但當我觸摸一個項目時,AlertDialog不會自動切換單選按鈕。我需要知道是否必須自己手動切換(無法找到執行此操作的方法),或者AlertDialog應該自動執行。 – Squonk