GridView.setOnItemClickListener在GridView中不起作用

时间:2011-12-26 12:48:48

标签: android gridview

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

部分代码:

类名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示例中给出的静态。

有人可以建议我一个确定网格项可点击的工作方式。

3 个答案:

答案 0 :(得分:2)

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

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

无法看到xml或你的适配器,它会有点难以猜测。

答案 1 :(得分:1)

需要检查mGridMain声明。也许父母的观点不正确

答案 2 :(得分:0)

确保您没有在网格中的任何其他位置点击侦听器