2015-02-11 2 views
0

Я создаю приложение для Android, в котором есть выбор компании, и на основе этого я показываю автомобили и основываясь на выборе конкретного автомобиля, я хочу показать некоторые детали автомобиля, например. мощность, мощность, моторное масло и т. д. Теперь я использую массив для хранения всей этой информации, связанной с автомобилем. напримерКак сделать обобщенное использование из нескольких массивов

private static final String[] car1={"624CC","33bhp","10W40"} 
private static final String[] car2={"1600CC","120bhp","10W40"} 

Чтобы проверить раздел, я использовал несколько операторов if-else для каждого автомобиля. И в зависимости от выбора, я показываю массив формы формы.

if(bn.equals("car 1")) 
    { 
     cap.setText(""+car1[0]); 
     powr.setText(""+car1[1]); 
     oil.setText(" "+car1[2]); 
    } 
    else if(bn.equals("car 2")) 
    { 
     cap.setText(""+car2[0]); 
     powr.setText(""+car2[1]); 
     oil.setText(" "+car2[2]); 
    } 
    else if(bn.equals("car 3")) 
    { 
     cap.setText(""+car3[0]); 
     powr.setText(""+car3[1]); 
     oil.setText(" "+car3[2]); 
    } 

Теперь проблема, как число, если-то еще увеличился, я получаю ошибку «Код слишком большого» в андроиде студии. Мне было интересно, есть ли способ заменить эти множественные if else заявления с помощью одного обобщенного оператора. Как вы можете видеть, во всем, если иначе, код тот же, его просто имя массива отличается. Я знаю, что я могу использовать SQLite db, но мне придется добавить все значения для него для всех автомобилей. Так было интересно, могу ли я использовать тот же массив, который я создал. Любое решение/предложение будут действительно полезны

ответ

0

Возможно, вместо сравнения строк с именами вы можете сохранить индекс выбранного значения и использовать случай переключения, чтобы узнать, какой автомобиль выбран. Это должно уменьшить код и сделать его более читаемым.

Смежные вопросы