安卓ListView中item点击setOnItemClickListener响应设置

 
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,说以还是很难受的。

如果哪位清楚的话请留言探讨一下,谢谢~

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值