setonitemclicklistener不工作的GridView控件 [英] setonitemclicklistener not working for gridview

查看:453
本文介绍了setonitemclicklistener不工作的GridView控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面是我的$ C C的code $,我没有收到来自GridView的setOnClickListener任何回应。 请帮我。

 的setContentView(R.layout.myfav);
gView =(GridView控件)findViewById(R.id.grid);
PackageManager下午= this.getPackageManager();
    上下文= MyFav.this;
    意向意图=新的意图(Intent.ACTION_MAIN,NULL);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    表= pm.queryIntentActivities(意向,PackageManager.GET_META_DATA);
    gView.setAdapter(新MyAdapter());
    // save.setOnClickListener(本);
    // cancel.setOnClickListener(本);
    gView.setOnItemClickListener(新OnItemClickListener(){

        @覆盖
        公共无效onItemClick(适配器视图<>为arg0,查看ARG1,INT ARG2,
                长ARG3){
            // TODO自动生成方法存根
            Log.e(里点击,+ ARG2);
            Toast.makeText(getApplicationContext(),你好+ ARG2,
                    Toast.LENGTH_SHORT).show();
        }
    });
 

这是我网格视图

 < GridView控件
    机器人:ID =@ + ID /格
    机器人:layout_width =match_parent
    机器人:layout_height =400dp
    机器人:layout_centerHorizo​​ntal =真
    机器人:为numColumns =3
    机器人:stretchMode =columnWidth中>
< / GridView的>
 

解决方案

这可能是因为在你的GridView的一些项目被窃取焦点。尝试将这些属性添加到您的网格内所有元素:

 机器人:可调焦=假
机器人:focusableInTouchMode =假
 

Here's My Code the code, I'm not getting any response from gridview setOnClickListener. Please Help me out.

setContentView(R.layout.myfav);
gView = (GridView) findViewById(R.id.grid);
PackageManager pm = this.getPackageManager();
    context = MyFav.this;
    Intent intent = new Intent(Intent.ACTION_MAIN, null);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    list = pm.queryIntentActivities(intent, PackageManager.GET_META_DATA);
    gView.setAdapter(new MyAdapter());
    // save.setOnClickListener(this);
    // cancel.setOnClickListener(this);
    gView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            Log.e("inside click", "" + arg2);
            Toast.makeText(getApplicationContext(), "Hello" + arg2,
                    Toast.LENGTH_SHORT).show();
        }
    });

This is my Grid view

<GridView
    android:id="@+id/grid"
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:layout_centerHorizontal="true"
    android:numColumns="3"
    android:stretchMode="columnWidth" >
</GridView>

解决方案

It could be that some items in your GridView are stealing focus. Try adding these attributes to any elements you have inside the grid:

android:focusable="false"
android:focusableInTouchMode="false"

这篇关于setonitemclicklistener不工作的GridView控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆