Я думаю, что лучший способ описать мой вопрос - описать, что я делаю в первую очередь.Заменить для операторов if при использовании констант
У меня есть простая деятельность с 3 параметрами listpick (кнопки, запускающие список). Каждый ListPicker имеет 8 элементов в ListView.
Каждый элемент в Listview, назовем его значением Name, имеет соответствующий адрес и телефон.
Так вот пример из constatns Я использую
public final String GROUP_1_VENUE_1_NAME = "1name1";
public final String GROUP_1_VENUE_1_ADDRESS = "1address1";
public final String GROUP_1_VENUE_1_PHONE = "1phone1";
public final String GROUP_1_VENUE_2_NAME = "1name2";
public final String GROUP_1_VENUE_2_ADDRESS = "1address2";
public final String GROUP_1_VENUE_2_PHONE = "1phone2";
public final String GROUP_1_VENUE_3_NAME = "1name3";
public final String GROUP_1_VENUE_3_ADDRESS = "1address3";
public final String GROUP_1_VENUE_3_PHONE = "1phone3";
.....
public final String GROUP_2_VENUE_1_NAME = "2name1";
public final String GROUP_2_VENUE_1_ADDRESS = "2address1";
public final String GROUP_2_VENUE_1_PHONE = "2phone1";
public final String GROUP_2_VENUE_2_NAME = "2name2";
public final String GROUP_2_VENUE_2_ADDRESS = "2address2";
public final String GROUP_2_VENUE_2_PHONE = "2phone2";
....
public final String GROUP_3_VENUE_1_NAME = "3name1";
public final String GROUP_3_VENUE_1_ADDRESS = "3address1";
public final String GROUP_3_VENUE_1_PHONE = "3phone1";
public final String GROUP_3_VENUE_2_NAME = "3name2";
public final String GROUP_3_VENUE_2_ADDRESS = "3address2";
public final String GROUP_3_VENUE_2_PHONE = "3phone2";
...
Так элемент получает взял из listPicker, и теперь я хочу, чтобы оценить результат
У меня есть 3 строки, которые нужно быть установленным; имя, адрес и телефон
так что сейчас у меня есть что-то вроде этого ...
if (selection.equals(GROUP_1_VENUE_1_NAME) {
name = GROUP_1_VENUE_1_NAME;
address = GROUP_1_VENUE_1_ADDRESS;
phone = GROUP_1_VENUE_1_PHONE;
} else if (selection.equals(GROUP_1_VENUE_2_NAME) {
name = GROUP_1_VENUE_2_NAME;
address = GROUP_1_VENUE_2_ADDRESS;
phone = GROUP_1_VENUE_2_PHONE;
} else if .....
и так далее, и так далее.
Итак, вот мой вопрос. Есть ли более простой способ сделать это, что позволяет мне оценить, является ли выбор равным одному из NAME CONSTANTS, и если да, задайте соответствующие значения?
Моя первая мысль - это хэш-карта, содержащая установленные значения. Ключом будет 'selection'.Хотя, я не уверен, что код будет таким же читаемым. – keyser
Сохраните строки в массивах и используйте «переключатель»? –
Я думаю, это должно быть опечатка здесь, 'phone = GROUP_1_VENUE_1_NAME;', это должно быть 'phone = GROUP_1_VENUE_1_PHONE;' –