【发布时间】:2012-04-12 09:23:26
【问题描述】:
我无法在 Fragment 中获取 gridView 的 setOnItemClickListener。可能是什么问题?
这是我的代码::
public class MainMenuFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.main_menu_fragment, container, false);
itemsGridViewObj = (GridView) view.findViewById(R.id.itemsGridView);
itemsGridViewObj.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
Log.d(TAG, "--> onItemClick listener..."); // Can not getting this method.
/*if(position == 1) {
FruitMenuFragment fruitMenuFragment = new FruitMenuFragment();
fragmentTransaction.replace(android.R.id.content, fruitMenuFragment);
fragmentTransaction.commit();
}*/
}
});
return view;
}
}`
【问题讨论】:
-
其实是自定义的GridView,只包含ButtonView。我认为这会导致获取 onItemClickListener 出现问题!
-
你的意思是GridView的每一项里面都有一个按钮吗? IE。在 LisAdapter 使用的布局中。
-
是的。在这种情况下,我没有得到那个 onItemClickListener!
-
我相信按钮会覆盖 OnItemClickListener。我在列表视图中的复选框也有类似的问题。在适配器中,将一个新的 OnClickListener 添加到按钮内联,看看 OnItemClickListener 是否生效。
-
我的线性布局中有一个图像视图和一个复选框,用于填充网格视图。我使图像视图和复选框不可点击且不可聚焦,而线性布局可点击且可聚焦,但我仍然没有收到点击事件。
标签: android gridview fragment onitemclicklistener