2013-05-30 26 views
0

我有一個ListViewAlerDialog(作爲單選,單選按鈕)。這ListView已分配OnItemClickListener從項目獲取TextView並更改其文本。ListItem文本不斷變回

final ListView lv = dialog.getListView(); 
lv.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) { 
     final TextView tv = (TextView) view; 
     tv.setText("a"); 
    } 
}); 

它工作正常,在我的Android 4.2,因爲我點擊的項目,它改變了他們的文本一個。但在我的同事2.3中,它有以下奇怪的行爲:當他點擊某個項目時,文本更改爲a。但是當他點擊其他項目時,文本會變回原始值。不,我沒有在其他地方操縱文字。

+0

顯示適配器代碼 – rajpara

+0

我沒有任何編碼適配器。我剛剛使用'AlertDialog.Builder' [setSingleChoiceItems](http://developer.android.com/reference/android/app/AlertDialog.Builder.html#setSingleChoiceItems(java.lang.CharSequence [],%20int,%20android。 content.DialogInterface.OnClickListener))方法與'String'數組和空的'OnClickListener'(因爲我稍後設置一些更復雜的代碼,需要完成'AlertDialog')。 – Pitel

+0

沒有適配器列表視圖?怎麼樣? – NaserShaikh

回答

0

好的,我找到了解決方案!

我需要編輯我在setSingleChoiceItems()使用的陣列,然後調用

((ArrayAdapter) listview.getAdapter()).notifyDataSetChanged();