Я использую пользовательский ListView
с Title
и Subtitle
, где вы можете прочитать краткое объяснение элемента.
Для каждого элемента в списке, который я отображаюAlertDialog
, чтобы выбрать опцию (отличается для каждого случая).Когда опция выбрана, я хочу изменить субтитры для опции, выбранной пользователем.
Это то, что я пробовал:
listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch(position){
case 0:
final CharSequence[] alertText1 = {"Area 1", "Area 2", "Area 3"};
ventana.setTitle("Choose an Area");
ventana.setItems(alertText1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
TextView subTitulo = (TextView) findViewById(R.id.subTitulo);
subTitulo.setText(alertText1[item]);
}
});
ventana.show();
break;
case 1:
final CharSequence[] alertText2 = {"1", "2", "3", "5", "10", "20", "60"};
ventana.setTitle("Max. duration");
ventana.setItems(alertText2, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
TextView subTitulo = (TextView) findViewById(R.id.subTitulo);
subTitulo.setText(alertText2[item]);
}
});
ventana.show();
break;
case 2:
final CharSequence[] alertText3 = {"3", "5", "10", "20", "30", "60"};
ventana.setTitle("Time between events");
ventana.setItems(alertText3, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
TextView subTitulo = (TextView) findViewById(R.id.subTitulo);
subTitulo.setText(alertText3[item]);
}
});
ventana.show();
break;
Для первого элемента в спискеэто работает нормально, когда я выбираю опцию, субтитры заменяются этой опцией, но когда я делаю выбор в AlertDialog
s из 2 других элементов, выбранная опция заменяет субтитры первого элемента!
Есть идеи, как это исправить?