水平滚动网格视图



我正在尝试创建自己的水平可滚动网格视图(不想使用任何现有内容,因为我想自己玩这个概念并更好地理解它(,但由于某种原因,屏幕上没有出现网格项。

GridLayout是ListItem的一部分,我在那里实例化它。(如果我使用普通的网格布局,则不会在滚动视图中添加数据(

这是我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="180dp"
    android:layout_centerVertical="true"
    android:layout_alignParentStart="true">
    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/horizontalScrollView">
        <GridView
           android:id="@+id/gridview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:columnWidth="100dp"
         />
    </HorizontalScrollView>
</FrameLayout>

这是我的适配器类:

public class RelatedCarsAdapter extends BaseAdapter {
private Context mContext;
private ArrayList<Cars> cars;
public RelatedCarsAdapter(Context context, ArrayList< Cars > cars) {
    this.mContext = context;
    this.cars = cars;
}
@Override
public int getCount() {
    return cars.size();
}
@Override
public Object getItem(int i) {
    return cars.get(i);
}
@Override
public long getItemId(int i) {
    return i;
}
@Override
public View getView(int position, View view, ViewGroup viewGroup) {
    TextView dummyTextView = new TextView(mContext);
    dummyTextView.setText(String.valueOf(position));
    return dummyTextView;
    }
}

这就是我实例化它的方式:

GridView gridView = (GridView) rowView.findViewById(R.id.gridview);
            RelatedCarsAdapter relatedCarsAdapter = new RelatedCarsAdapter(mContext, cars);
            gridView.setNumColumns(cars.size());
            gridView.setAdapter(relatedCarsAdapter);

GridView 不会在 HorizontalScrollView 中滚动。您需要在布局中使用 RecyclerView 而不是 GridView(并且可能扩展 RecyclerView.Adapter(

请参阅文档:https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html

最新更新