Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android setonitemclicklistener不适用于gridview_Android_Gridview_Onitemclicklistener - Fatal编程技术网

Android setonitemclicklistener不适用于gridview

Android setonitemclicklistener不适用于gridview,android,gridview,onitemclicklistener,Android,Gridview,Onitemclicklistener,这是我的代码,我没有从gridview setOnClickListener得到任何响应。 请帮帮我 setContentView(R.layout.myfav); gView = (GridView) findViewById(R.id.grid); PackageManager pm = this.getPackageManager(); context = MyFav.this; Intent intent = new Intent(Intent.ACTION_MAIN,

这是我的代码,我没有从gridview setOnClickListener得到任何响应。 请帮帮我

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();
        }
    });
setContentView(R.layout.myfav);
gView=(GridView)findViewById(R.id.grid);
PackageManager pm=this.getPackageManager();
上下文=MyFav.this;
意图=新意图(Intent.ACTION\u MAIN,空);
intent.addCategory(intent.CATEGORY_启动器);
list=pm.querytentActivities(intent,PackageManager.GET_META_数据);
gView.setAdapter(新的MyAdapter());
//save.setOnClickListener(这个);
//cancel.setOnClickListener(此);
gView.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
//TODO自动生成的方法存根
Log.e(“内部单击”,“arg2”);
Toast.makeText(getApplicationContext(),“Hello”+arg2,
吐司。长度(短)。show();
}
});
这是我的网格视图

<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>

可能是GridView中的某些项正在窃取焦点。尝试将这些属性添加到网格中的任何元素:

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

您的gridview在添加适配器后是否显示得很好。所有项目都显示正确,然后我看到您在这里面临的问题在这里都很好。单击项目后日志消息是否显示了一些内容?请确保网格项目的布局没有任何可单击的属性,尤其是在根目录中。此外,您的网格项中是否有任何“可单击”项和/或您是否在适配器中设置了任何其他单击侦听器?最好分享一些网格项布局和适配器代码。这就是我需要的答案。还有一个疑问。我在自定义gridview中有一个复选框,如何获取选中的元素?我不明白。您需要确定是否选中了网格中的复选框?通过视图初始化复选框,并检查是否选中复选框。oncheckedchangelistener..我在网格视图中有复选框项。您太棒了!谢谢!:)