1

Activityは 2 つありますが、ユーザーがクリックListViewsしたものを検出する必要があります。それぞれにとListViewを追加しました。adapterssetOnItemClickListener(this);ListView

@Override
public void onItemClick(AdapterView<?> a, View v, int i, long l) {
    switch (v.getId()) {
        case R.id.list_1:
            Toast.makeText(this, "111111111", 0).show();
            break;
        case R.id.list_2:
            Toast.makeText(this, "222222222", 0).show();
            break;
    }
}

しかし、v.getId()-1 を返します

4

2 に答える 2

4

a.getId()の代わりに使用v.getId()

私は使用を意味しますAdapterView<?> a

switch (a.getId()) {
        case R.id.list_1:
            Toast.makeText(this, "111111111", 0).show();
            break;
        case R.id.list_2:
            Toast.makeText(this, "222222222", 0).show();
            break;
    }
于 2012-05-22T10:29:09.373 に答える
1

onCreate() で、リストビューへの参照を取得します。

listview1 = findViewById(R.id.list_1);
listview2 = findViewById(R.id.list_2);

次に、次のonItemClicked()ようにテストできます。

 if (a == listview1){
       //something
    }
 else if(a==listview2){
      //something
    }
于 2012-05-22T10:29:20.750 に答える