2

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が表示されます。しかし、結果のサイズを表示しようとすると、正しいサイズが表示されます。これを修正するにはどうすればよいですか?

4

1 に答える 1

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++;     
} 
于 2012-11-30T05:31:05.173 に答える