You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:15:01