2016-04-25 11 views
0

2つのリストビューがあり、リスト内の要素にはonClickイベントがあります。androidの2つのリストビューの問題

1行目の最初の要素をクリックすると、2番目のリストの1番目の要素のonclickイベントが実行されます。

//Adapter 
mNewDevicesArrayAdapter = new ArrayAdapter<String>(this, R.layout.device_name); 

//Lists/adapters/events 
ListView pairedListView = (ListView) findViewById(R.id.paired_devices); 
pairedListView.setAdapter(pairedDevicesArrayAdapter); 
pairedListView.setOnItemClickListener(mDeviceClickListener); 


ListView newDevicesListView = (ListView) findViewById(R.id.new_devices); 
newDevicesListView.setAdapter(mNewDevicesArrayAdapter); 
newDevicesListView.setOnItemClickListener(mDeviceClickListener); 

//Click Event 
private AdapterView.OnItemClickListener mDeviceClickListener = new AdapterView.OnItemClickListener() { 
    public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3) {  
    Log.d(TAG, "element: "+ DeviceArrayList.get(arg2).getName()); 
    } 
} 
+0

2つのリストビューは同じレイアウトですか? – Mohit

+1

[複数のlistviewが異なるonItemClickListenerに対して応答するようにする方法](http://stackoverflow.com/questions/7580991/how-to-make-more-than-one-listview-respond-for-different -onitemclicklistener) –

+0

はい、activity_mainレイアウトです。 –

答えて

0

この問題を回避するために、2つの異なるリスナーを使用してクリックイベントを処理できます。

デバイスリストビュー用

、ペアリストビュー

private AdapterView.OnItemClickListener mPairedClickListener = new AdapterView.OnItemClickListener() { 
    public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3) {  
    Log.d(TAG, "element: "+ SomeOtherArray.get(arg2).getName()); 
    } 
} 

ため

private AdapterView.OnItemClickListener mDeviceClickListener = new AdapterView.OnItemClickListener() { 
    public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3) {  
    Log.d(TAG, "element: "+ DeviceArrayList.get(arg2).getName()); 
    } 
} 

次いで

newDevicesListView.setOnItemClickListener(mDeviceClickListener); 

次いで

pairedListView.setOnItemClickListener(mPairedClickListener); 

もう1つの方法は、ロジックを追加して、クリックイベントがどのリストビューから来るのかを特定することです。同じclicklistenerを使用しているときは、どのリストビューからイベントが来ているかを確認する必要があります。その後、対応するArrayListを選択することができます

関連する問題