2013-05-30 4 views
0

У меня есть ListView в AlerDialog (как один выбор, с переключателями). Этот 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(); 
Смежные вопросы