单击图像GridView时没有任何反应

时间:2011-08-10 16:17:20

标签: android gridview

我有这个代码来点击gridview中的图像时启动所需的活动:

gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                switch (v.getId()) {
                case R.drawable.stock:
                    Intent i = new Intent(acceuil.this,carburant.class);
                    startActivity(i);
                }
            }
        });

不幸的是,当我点击图像时没有任何反应。这段代码有什么问题?非常感谢你。

2 个答案:

答案 0 :(得分:0)

处理必须通过操纵元素的位置而不是图像的名称来完成,这里是正确的代码:

gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                switch (**position**) {
                case **0**:
                    Intent i = new Intent(acceuil.this,carburant.class);
                    startActivity(i);
                }
            }
        });

答案 1 :(得分:0)

是的,因为视图ID和可绘制ID不相同,所以不起作用。

如果您已经像示例here中那样实现了GridView,那么您应该能够使用onItemClick()中的position参数从数组中检索可绘制的id并将开关块基于那。当然,为了使用switch,你需要将该值设为最终值,但这并不直接相关。