我想将arraylist与textview进行比较,当arraylist和textview的值匹配/相同时,我想显示arraylist的索引..
这是我的代码
TextView namamenu2=(TextView)findViewById(R.id.nama_menu2);
String nama_menu_upd = namamenu2.getText().toString();
for(MenuInputClass mic2 : results) {
String comp=mic2.getNama_menu();
if(nama_menu_upd.equals(comp))
{
int compIndex=results.indexOf(comp);
Toast.makeText(Appetizer_Activity.this,compIndex, Toast.LENGTH_LONG).show();
}
}
MenuInputClass
public class MenuInputClass {
private String nama_menu;
private String jumlah_menu;
public void setNama_menu(String nama_menu) {
this.nama_menu=nama_menu;
}
public String getNama_menu() {
return (nama_menu);
}
}
当我在Toast上显示 compIndex 时,它总是显示 -1 。但是当我尝试显示结果的大小时,它的显示正确的尺寸。我能解决这个问题吗?
答案 0 :(得分:2)
尝试普通For
循环而不是Foreach
,除非你拿一个int计数器,否则Foreach不会让你知道那个索引。
使用普通For
:
for(int i=0; i< results.size(); i++) {
MenuInputClass mic2= results.get(i);
String comp=mic2.getNama_menu();
if(nama_menu_upd.equals(comp))
{
Toast.makeText(Appetizer_Activity.this, i, Toast.LENGTH_LONG).show();
}
}
使用Foreach
:
int counter=0;
for(MenuInputClass mic2 : results) {
String comp=mic2.getNama_menu();
if(nama_menu_upd.equals(comp))
{
Toast.makeText(Appetizer_Activity.this, counter, Toast.LENGTH_LONG).show();
}
counter++;
}