我正在尝试创建一个在 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/