GridViewに見出しを付け、この図のような画面を作りたいと考えております。
将来的にはこの見出し部分にボタンも埋め込みたいと考えております。
色々と検索して見つかった以下のページを参考に、ListViewにGridViewを埋め込む方式のものを作成しているのですが、こちらのページでは足りないクラスやxmlレイアウトがあるようで、どのようなものを作成すればいいのか調べながら理解しようとしましたが、解決出来ませんでした。
https://qiita.com/KeithYokoma/items/a479ee529c520e829e7f
Java
1public class SectionListAdapter extends ArrayAdapter<SectionData> { 2 public SectionListAdapter(Context context, List<SectionData> objects) { 3 super(context, R.layout.list_item_layout, R.id.label_section_title, objects); 4 } 5 6 @Nullable 7 @Override 8 public View getView(int position, View convertView, ViewGroup group) { 9 View row = super.getView(position, convertView, group); 10 11 SectionData data = getItem(position); 12 13 TextView sectionName = (TextView) row.findViewById(R.id.label_section_name); 14 sectionName.setText(data.getSectionName()); 15 16 GridView grid = (GridView) row.findViewById(R.id.grid); 17 SectionGridAdapter adapter = new SectionGridAdapter(getContext(), data.getImageUrls()); 18 grid.setAdapter(adapter); 19 20 return row; 21 } 22}
↑こちらのR.id.label_section_titleはlist_item_layout.xml内に記述するべき何かなのでしょうか。
また、getSectionName、getImageUrlsの定義や取得する値についてはどのように記述すればいいのでしょうか。
Java
1public class SectionGridAdapter extends ArrayAdapter<String> { 2 public SectionGridAdapter(Context context, List<String> objects) { 3 super(context, R.layout.grid_item, R.id.label_grid, objects); 4 } 5 6(省略)
↑こちらのR.id.label_gridも同様に理解ができません。
↓自分で追加したxmlレイアウトです。
list_item_layout.xml
xml
1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 xmlns:tools="http://schemas.android.com/tools" 6 android:layout_width="match_parent" 7 android:layout_height="match_parent"> 8 9 <TextView 10 android:id="@+id/label_section_name" 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:text="TextView" 14 tools:ignore="MissingConstraints" 15 tools:layout_editor_absoluteX="16dp" 16 tools:layout_editor_absoluteY="16dp" /> 17 18 <GridView 19 android:id="@+id/grid" 20 android:layout_width="wrap_content" 21 android:layout_height="22dp" 22 app:layout_constraintEnd_toEndOf="parent" 23 app:layout_constraintHorizontal_bias="0.0" 24 app:layout_constraintStart_toStartOf="parent" 25 tools:ignore="MissingConstraints" 26 tools:layout_editor_absoluteY="35dp" /> 27 28 29</androidx.constraintlayout.widget.ConstraintLayout>
grid_item.xml
xml
1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 xmlns:app="http://schemas.android.com/apk/res-auto"> 6 7 <ImageView 8 android:id="@+id/image_cell" 9 android:layout_width="240dp" 10 android:layout_height="240dp" 11 android:padding="3dp" 12 app:layout_constraintStart_toStartOf="parent" 13 app:layout_constraintTop_toTopOf="parent" /> 14 15</androidx.constraintlayout.widget.ConstraintLayout>
以上の情報で何かお分かりでしたらご教授頂きたく思います。宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/10 10:12 編集
2020/06/10 10:50
2020/06/11 06:24