我只是想使用state name来获取state id,例如:我的strId为1,但每次获取在stateModelArrayList中找到的最后一个状态名时都没有得到属于strId 1的状态名。

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);
}

最佳答案

我想您的错误就在这里:

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


它应该是:

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


如果您不想获取最后一个值,请不要忘记调用break来停止循环

10-07 15:52