RecyclerViewとGridLayoutManagerを使ったシンプルなAndroidグリッドの例(昔のGridViewのように
RecyclerViewが古い
ListViewや
GridViewの機能を置き換えたことは知っています。私は、
RecyclerView`を使った最小限のグリッド設定を示す、非常に基本的な例を探しています。長いチュートリアル風の説明ではなく、最低限の例を探しています。古いGridViewを模倣した最もシンプルなグリッドは以下のような機能で構成されていると想像しています。
- 1行に複数のセル
- 各セルに単一のビュー
- クリックイベントへの応答
181
3
ショートアンサー
リストを作るために
RecyclerView
をセットアップする]1ことにすでに慣れている人にとって、良いニュースは、グリッドを作ることはほとんど同じだということです。ただ、RecyclerView
をセットアップするときにLinearLayoutManager
の代わりにGridLayoutManager
を使うだけです。それ以上の助けが必要な場合は、次の例をご覧ください。
全例
以下は、下の画像のようになる最小の例です。
.
空のアクティビティから始めます。以下のタスクを実行して、
RecyclerView
グリッドを追加します。必要なのは、各セクションのコードをコピー&ペーストすることだけです。後で必要に応じてカスタマイズすることができます。Gradleの依存関係の更新
以下の依存関係がアプリの
gradle.build
ファイルに含まれていることを確認してください。バージョン番号は、最新のものに更新することができます。
アクティビティレイアウトの作成
xmlレイアウトに
RecyclerView
を追加します。*アクティビティ_メイン.xml
グリッドセルレイアウトの作成
RecyclerView
のグリッドの各セルには、1つの
TextView`のみを配置します。新しいレイアウトリソースファイルを作成します。recyclerview_item.xml.
アダプターの作成
RecyclerView`には、各セルのビューにデータを入力するためのアダプタが必要です。新しいjavaファイルを作成します。
MyRecyclerViewAdapter.java を作成します。
備考
GridView
にあったもので、よくあるニーズです。必要なければ、このコードを削除しても構いません。アクティビティでRecyclerViewを初期化する
メインのアクティビティに以下のコードを追加します。
MainActivity.java.
備考
ItemClickListener
を実装していることに注意してください。これにより、セルのクリックイベントをonItemClick
で処理することができます。終了しました
以上で完成です。これでプロジェクトを実行すると、上の画像のようなものが表示されるはずです。
続きを読む
角の丸み
カラムの自動フィット
さらなる研究
Suragch'さんの回答]1を気に入って感謝していますが、Adapter (
MyRecyclerViewAdapter
) をコーディングして Listener メソッドonItemClick
を定義して公開することは、クラスのカプセル化を正しく使用していないため、最善の方法ではないことがわかりましたので、メモを残しておきます。そこで、私の提案は、AdapterにListen操作のみを処理させ(それが目的です!)、それをAdapter*を使用するActivity(MainActivity
)から分離することです。そこで、Adapterクラスをこのように設定することにしました。MyRecyclerViewAdapter.java.
MyRecyclerViewAdapter
で定義された
onItemClick` メソッドに注意してください。このメソッドは、受け取ったイベント/アクションに対するタスクをコード化する場所です。この変換を完了するために行うべき小さな変更があります:Activityはもう
MyRecyclerViewAdapter.ItemClickListener
を実装する必要はありません。これが最終的な変更点になります。MainActivity.java (英語)
RecyclerViewのLayoutManagerをGridlayoutモードに設定する必要があります。
注:必要な列数を###HELP###に置き換えてください。