2016-04-16 2 views
1

Я просто пытаюсь получить state name с помощью state id, для примера: мой Strid является , но не получает состояния имени который принадлежит Strid 1, каждый раз получать последнее состояние имя найдено в stateModelArrayListFor Loop, чтобы получить данные из пользовательского ArrayList

for (int i=0; i<stateModelArrayList.size(); i++) { 
    String strId = stateModelArrayList.get(i).getId().toString(); 
    if(strId.equals(strState)) { 
     Toast.makeText(MainActivity.this, strId+" : "+strState, Toast.LENGTH_SHORT).show(); 
     strStateName = stateModelArrayList.get(strId).getName().toString();   
    } 
     editState.setText(strStateName); 
} 
+0

Try Loging ваш Strid внутри цикла, и убедитесь, что ваше состояние меет. – darwin

+0

условие прекрасно работает ... так как я могу использовать Toast, чтобы показать strId, если равен strState ... и получить точный результат, я должен получить – Sun

+3

'' 'strStateName = stateModelArrayList.get (strId) .getName(). toString(); '' 'это странно, почему вы передаете' '' strId''' '' 'get''', а не' '' i''''? –

ответ

1

Я предполагаю, что ваша ошибка здесь:

strStateName = stateModelArrayList.get(strId).getName().toString(); 

Оно должно быть:

strStateName = stateModelArrayList.get(i).getName().toString(); 

Если вы не хотите, чтобы получить последнее значение не забудьте вызвать break, чтобы остановить цикл

+1

приветствуется :-) –

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