私はArrayList
いくつかのデータを持っています。ArrayList
さまざまなカテゴリのオブジェクト (猫 1、猫 2、猫 3、...) が含まれます。にリストを表示したいGridView
。
私のxmlは次のようになります:
<GridView
android:id="@+id/gv_my_grid"
style="@style/fill_wrap"
android:cacheColorHint="@null"
android:layout_margin="10dp"
android:numColumns="3"
android:listSelector="@android:color/transparent"
android:stretchMode="columnWidth"
android:gravity="center"
/>
そして、すべてがうまく機能します。
GridView は次のようになります。
|item 1 (cat 1)| |item 2 (cat 1)| |item 3 (cat 1)|
|item 4 (cat 1)| |item 5 (cat 2)| |item 6 (cat 2)|
|item 7 (cat 3)| |item 8 (cat 3)| |item 9 (cat 3)|
しかし、今では、異なるカテゴリ項目の間に全幅の水平区切り線を配置したいと考えています。次のようになります。
___________category_1_____________________________
|item 1 (cat 1)| |item 2 (cat 1)| |item 3 (cat 1)|
|item 4 (cat 1)|
___________category_2_____________________________
|item 5 (cat 2)| |item 6 (cat 2)|
___________category_1_____________________________
|item 7 (cat 3)| |item 8 (cat 3)| |item 9 (cat 3)|
これは可能ですか?私が見つけたすべての原因 -ListView
実装のみ。
編集:
アダプターのコードを追加するように求められました。getView
メソッドで十分だと思います。
public View getView(int position, View view, ViewGroup viewGroup) {
final Holder holder;
final View cell;
if (null == view) {
cell = this.inflater.inflate(R.layout.gi_my_item, null);
holder = new Holder(cell);
cell.setTag(holder);
} else {
cell = view;
holder = (Holder) cell.getTag();
}
holder.item = this.items.get(position);
holder.textField.setText(holder.item.someText);
return cell;
}