for(BluetoothDevice device : pairedDevices) { list1.add("設備名稱:" + device.getName() + "/" + device.getAddress()); mainList1.add(device); // Toast.makeText(getApplicationContext(),"Showing Paired Devices", // Toast.LENGTH_SHORT).show();
adapter1 = new ArrayAdapter (this,android.R.layout.simple_list_item_1, list1); } list1.add("未配對設備:"); // Log.d("檢測:", "已配對藍牙設備讀取正常!" ); lv1.setAdapter(adapter1); Log.d("檢查:","lv1[1]"+lv1.getItemAtPosition(1));
lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String str=lv1.getItemAtPosition(position)+" "; Log.d("檢查:","OnItemClick功能實現!\n"+str); } });
對ListView的Item點擊響應,用到的是:
lv1.setOnItemClickListener(new AdapterView.OnItemClickListener()
其中獲取在ListView中位置的position對應名稱由:
getItemAtPosition(position)
但是得到的數據類型爲Map型,需要加上" "自動調用toString()函數,轉化爲String類型。
//**************************************************************************************************************//
//**************************************************************************************************************//
//**************************************************************************************************************//
//**************************************************************************************************************//
lv1.setOnItemClickListener(new ItemClickListener()); } public class ItemClickListener implements AdapterView.OnItemClickListener{ @Override public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,long arg3) { String str = lv1.getItemAtPosition(arg2)+" "; Log.d("檢測:","str="+str ); } }
同時,在方法外部聲明類,及implements的方法,在方法內引用相應(並不相同):
OnItemClickListener對應的是:
setOnItemClickListener(new ItemClickListener())
括號內的類名即爲方法外聲明的類。
//**************************************************************************************************************//
//**************************************************************************************************************//
//**************************************************************************************************************//
//**************************************************************************************************************//
本想着在一個layout中使用多個ListView控件,但是點擊的時候能夠通過第二種方法,使用switch/case的方法區分不同的控件,但是嘗試後不知道通過什麼指令獲取不同的控件的id,嘗試過getId()和View中的arg1,說以還是很難受的。
如果哪位清楚的話請留言探討一下,謝謝~