基本上,我想实现一个GridView项目本身是可点击的,但在GridView可点击的Buttons和Checkboxes内.
这是一个示例布局:
Gridview
-----------------------------------------
|[ImageView] |[ImageView] |
|[TextView] |[TextView] |
|[Button][Checkbox] |[Button][Checkbox] |
-----------------------------------------
|[ImageView] |[ImageView] |
|[TextView] |[TextView] |
|[Button][Checkbox] |[Button][Checkbox] |
-----------------------------------------
Run Code Online (Sandbox Code Playgroud)
基本上,我想要做的是,当用户点击时CheckBox,现在可以从中选择多个项目GridView.当用户点击时Button,Popup会显示A. 当用户点击其他任何地方时,将Activity启动新的.这一点的重点不是长按以显示上下文菜单,我想要一个按钮取代它的位置.
关于如何处理这种情况的任何建议?在我当前的设置中,如果我Button在适配器的GetView()方法中添加,只有Button可点击.整个GridView项目无法点击.当我删除时Button,该GridView项目可以再次点击.它似乎只是整个GridView项目或Button可点击(响应OnClickListener().有没有办法让它们都可点击?
Ali*_*liR 12
这篇文章很老,但仅供参考/ googlers,我有以下解决方案:
您需要为imageAdapter的getView中的按钮,复选框写入所有事件.然后在gridview标签下的layout.xml文件中添加以下行:
android:clickable="true"
android:descendantFocusability="beforeDescendants"
Run Code Online (Sandbox Code Playgroud)
并将这些行添加到您的按钮和复选框:
android:focusable="false"
android:focusableInTouchMode="false"
Run Code Online (Sandbox Code Playgroud)
如果您想要点击/触摸gridview项的任何其他区域,则需要启动其他活动,您需要使用(标准代码)/(您自己的匹配实现):
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
干杯,});
| 归档时间: |
|
| 查看次数: |
5806 次 |
| 最近记录: |