0
私は自分自身の水平スクロール可能なGridViewを作成しようとしています(何かを使用したくない理由は、コンセプトを使いこなし、それをもっと良く理解したいからです)グリッド項目は画面に表示されません。水平スクロールGridView
GridLayoutはListItemの一部であり、そこでインスタンス化します。ここで
を(私は通常のGridLayoutを使用している場合、それはスクロールビューに追加されていないデータが表示されます)私の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);