使用ArrayAdapter给ListView添加列表时出现getOnItemClickListener调用报错如何解决
错误原因
原报错信息翻译为:android.widget.AdapterView中的getOnItemClickListener ()方法无法接收(匿名 android.widget.AdapterView.OnItemClickListener)类型的参数。
该报错是因为你在代码中错误调用了AdapterView的getOnItemClickListener()方法,该方法的作用是获取ListView已绑定的点击监听器,本身不需要传入任何参数。你向该方法传入了匿名AdapterView.OnItemClickListener实例,触发了参数类型不匹配的编译报错。
报错信息截图如下:
修复方法
将你代码中设置点击监听的getOnItemClickListener调用,修改为setOnItemClickListener即可,setOnItemClickListener是专门用于绑定列表项点击事件回调的方法,需要传入OnItemClickListener实例作为参数。
正确的参考代码如下:
// 初始化ListView和ArrayAdapter的常规代码 String[] dataList = {"选项1", "选项2", "选项3", "选项4"}; ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList); listView.setAdapter(adapter); // 正确的列表项点击监听绑定代码 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // 此处编写列表项被点击后的业务逻辑 String clickContent = (String) parent.getItemAtPosition(position); // 示例:弹出选中内容提示 Toast.makeText(getApplicationContext(), "选中了:"+clickContent, Toast.LENGTH_SHORT).show(); } });
内容的提问来源于stack exchange,提问作者Danusha Malshan
相关产品推荐
相关产品推荐

