我想将ArrayList
元素的索引值与int数组中的值匹配。 Pos
数组包含所选项,而ArrayList
对象包含所有项目。
我想要一个仅包含所选项目的新ArrayList
,但if
条件始终为false
for (int i = 0; i < Pos.length; i++) {
Category state = stateList.get(i);
if(stateList.indexOf(i)==Pos[i]) {
Toast.makeText(getApplicationContext(),"match",Toast.LENGTH_LONG).show();
Drawer.add(state);
}
}
Toast.makeText(getApplicationContext(),Drawer.size(),Toast.LENGTH_LONG).show();
答案 0 :(得分:1)
您已在stateList
数组中选择Pos
的索引。因此,只需使用stateList
数组获取Pos
中的项目即可。试试这段代码。
for (int i = 0; i < Pos.length; i++) {
Drawer.add(stateList.get(Pos[i]));
}
Toast.makeText(getApplicationContext(),Drawer.size(),Toast.LENGTH_LONG).show();
答案 1 :(得分:1)
请尝试这个 -
if (i == Pos[i]) {
Toast.makeText(getApplicationContext(), "match", Toast.LENGTH_LONG).show();
Drawer.add(state);
}