我有以下布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<GridView
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:numColumns="auto_fit"
android:verticalSpacing="5dip"
android:horizontalSpacing="2.5dip"
android:columnWidth="100px"
android:stretchMode="columnWidth"
android:gravity="center"
android:listSelector="@drawable/transparent"
android:padding="5dip"
android:scrollbarStyle="outsideOverlay"
android:clickable="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
现在我使用一个自定义适配器来扩展我自己的视图,并将它们设置为gridview中的项目,并在gridview中的点击上设置一个监听器.
GridView grid = (GridView) findViewById(R.id.grid);
grid.setAdapter(new ProductAdapter(getApplicationContext(), products));
grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
...
}
});
Run Code Online (Sandbox Code Playgroud)
问题是,如果我按下网格视图中的一个单元格,则侦听器不会触发.如果我使用触控板在网格中导航并按下触控板触发器触发.是否有其他视图捕获点击?我的自定义视图包含一个带有ImageView和TextView i读取的LinearLayout,它为gridview的布局膨胀导致某些地方出现问题.
如何使网格的项目可点击?
编辑在我的适配器中扩展布局或仅实例化单个视图并将其返回到单元视图之间没有区别.
Jan*_*usz 15
好吧我非常非常愚蠢的错误.我重用了另一个停用其中视图的适配器.
如果你在适配器中设置它,你们都知道
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
视图不可点击.就像它的目的一样;)
| 归档时间: |
|
| 查看次数: |
4818 次 |
| 最近记录: |