本文介绍了GridView控件onItemClickListener永远不会被调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个的GridView 自定义查看在里面,这是一个按钮和的TextView 。我定义了 setOnItemClickListener 但它看起来像它永远不会被调用,请参阅以下code撕成小块。
的GridView =(GridView控件)findViewById(R.id.main_gridview); gridview.setAdapter(新GridAdapter(本)); gridview.setOnItemClickListener(新OnItemClickListener(){ @覆盖 公共无效onItemClick(适配器视图<>母公司视图中查看, INT位置,长的id){ Toast.makeText(getApplicationContext(),gadsfadsf, Toast.LENGTH_SHORT).show(); Log.d(主,onItemClick); } });解决方案
我有同样的问题。虽然我还没有想通了,为什么它永远不会被调用,我可以提出一个解决办法。
而不是设置onClickListener对你的GridView的,此按钮,您GridAdapter内设置它,你的getView()方法中。
这是为我工作!
I have a GridView with custom View in it, which is a Button and a TextView. I defined the setOnItemClickListener but it looks like it never invoked, please see peaces of code below.
gridview = (GridView) findViewById(R.id.main_gridview); gridview.setAdapter(new GridAdapter(this)); gridview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(getApplicationContext(), "gadsfadsf", Toast.LENGTH_SHORT).show(); Log.d("Main", "onItemClick"); } });解决方案
I had the same issue. While I've not yet figured out why it never gets invoked, I can propose a workaround.
Instead of setting the onClickListener on your GridView, set it on the Button itself inside your GridAdapter, inside your getView() method.
That worked for me!
更多推荐
GridView控件onItemClickListener永远不会被调用
发布评论