android - GridView.setOnItemClickListener 在 GridView 中不起作用

标签 android gridview

我正在尝试创建一个在 gridview 中动态列出已安装应用程序的应用程序。我能够以 gridview 形式显示应用程序,但无法使这些应用程序图标可单击。单击这些图标时没有任何反应。单击事件不会触发 setOnItemClickListener 中的代码。

部分代码:

类名dynamicgridactivity.java

 mGridMain.setOnItemClickListener(new OnItemClickListener() {     
    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {           

        ViewHolder holder = (ViewHolder)v.getTag();  
        Log.i("view get tag" ,v.getTag().toString());

        if(holder == null) {  

              return;        } 


        Toast.makeText(dynamicgridactivity.this, "Hello", Toast.LENGTH_SHORT).show();    
                }    });

    }

注意:我的应用程序图标和 gridview 显示中的文本是动态的,而不是 android 示例中给出的静态。

有人可以建议我一种使网格项目可点击的可靠工作方式吗?

最佳答案

您是否在网格本身或网格或网格项的任何父级上有某种点击监听器?您是否在单个网格项目上将可聚焦或可点击设置为 false?单击项目时,您是否看到项目周围的选择器?

您也可以尝试在网格中的每个项目上设置一个 onClickListener View (诚然效率较低)。

如果看不到 xml 或您的适配器,则很难猜测。

关于android - GridView.setOnItemClickListener 在 GridView 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8635926/

相关文章:

java - 导入成功后Facebook SDK导入报错

c# - 将 gridview backcolor 设置为数据表中的颜色?

android - 如何在 android 中第二次单击时取消选择 gridview 中的项目?

javascript - 如何使用jquery遍历gridview并检查是否选中了任何复选框

android - 从手机获取加速度计值,最佳方法?

android半透明位图背景为黑色

java - 无法让微调器在 Android Studio 中工作

javascript - ASP :hyperlink is not directing to the linked url

Android - GridView 中的不同项目未显示

android - 将微调器选择的项目保存到 Android Room