[解決済み] SpanSizeLookupを使用してGridLayoutManagerのアイテムのスパンを設定する
2022-12-31 22:04:47
質問
セクションヘッダーを使ったグリッドのようなレイアウトを実現したい。例えば https://github.com/TonicArtos/StickyGridHeaders
今、私がしていること。
mRecyclerView = (RecyclerView) view.findViewById(R.id.grid);
mLayoutManager = new GridLayoutManager(getActivity(), 2);
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(mAdapter.getItemViewType(position)){
case MyAdapter.TYPE_HEADER:
return 1;
case MyAdapter.TYPE_ITEM:
return 2;
default:
return -1;
}
}
});
mRecyclerView.setLayoutManager(mLayoutManager);
現在、通常のアイテムもヘッダーもスパンサイズが1になっています。これを解決するにはどうしたらよいでしょうか?
どのように解決するのですか?
問題は、ヘッダのスパンサイズが2であること、通常のアイテムのスパンサイズが1であることでした。 ということで、正しい実装は
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(mAdapter.getItemViewType(position)){
case MyAdapter.TYPE_HEADER:
return 2;
case MyAdapter.TYPE_ITEM:
return 1;
default:
return -1;
}
}
});
関連
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】ViewPagerを動的に更新しますか?
-
[解決済み】Android Recyclerview GridLayoutManagerの列間隔について
-
[解決済み】RecyclerViewとGridLayoutManagerを使ったAndroidの簡単なグリッド例(昔のGridViewのようなもの)。
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] ArrayList<MyCustomClass>をJSONArrayに変換する。
-
[解決済み] Android StudioからADBを手動で再起動する方法
-
[解決済み] EditTextの右側のDrawableにonClickListenerを設定する [重複] [重複
-
[解決済み] RecyclerView GridLayoutManager: スパン数を自動検出する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] プログラム的に電話をかけるには?
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] Androidのソースコードにある@hideの意味とは?
-
[解決済み] Android ConstraintLayout - あるビューを別のビューの上に配置する
-
[解決済み] EditTextをReadOnlyにする
-
[解決済み] Gradleでビルドタイプを使用し、ContentProviderを使用する同じアプリを1つのデバイスで実行する。
-
[解決済み] edittextのテキストがメールアドレスかどうかを確認するには?
-
[解決済み] proguard hell - 参照されているクラスが見つかりません。
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理
-
[解決済み] <string> XMLで改行やタブを作るには(eclipse/android)?