質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

1656閲覧

kotlin recyclerviewについて

pice

総合スコア409

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2021/04/13 03:07

編集2021/04/13 03:09

RecyclerViewでRoomのデータを一覧表示しようとしています。一覧にはなっているようですが、見切れており、全部表示させるようにしたいです。

kotlin

1class CustomAdapter(private val reportsList: List<Reports>): RecyclerView.Adapter<CustomAdapter.ViewHolder>() { 2 3 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { 4 val view = LayoutInflater.from(parent.context).inflate(R.layout.list, parent, false) 5 return ViewHolder(view) 6 } 7 8 override fun onBindViewHolder(holder: CustomAdapter.ViewHolder, position: Int) { 9 val reports = reportsList[position] 10 11 holder.name.text = reports.title 12 holder.body.text = reports.impressions 13 } 14 15 override fun getItemCount(): Int = reportsList.size 16 17 class ViewHolder(view: View): RecyclerView.ViewHolder(view){ 18 19 val name: TextView 20 val body: TextView 21 22 init { 23 name = view.findViewById(R.id.name) 24 body = view.findViewById(R.id.body) 25 } 26 } 27}

xml

1<ScrollView 2 xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:id="@+id/scrollView" 7 android:isScrollContainer="false"> 8 9 <LinearLayout 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:id="@+id/linearLayout"> 13 14 <LinearLayout 15 android:layout_width="0dp" 16 android:layout_height="wrap_content" 17 android:layout_weight="1" 18 android:orientation="vertical" 19 android:layout_marginStart="16dp"> 20 21 <TextView 22 android:layout_width="wrap_content" 23 android:layout_height="wrap_content" 24 android:id="@+id/name" 25 android:textStyle="bold"/> 26 <TextView 27 android:layout_width="wrap_content" 28 android:layout_height="wrap_content" 29 android:id="@+id/body"/> 30 <Button 31 android:layout_width="wrap_content" 32 android:layout_height="wrap_content" 33 android:text="戻る" 34 android:id="@+id/backBtn"/> 35 36 </LinearLayout> 37 38 39 </LinearLayout> 40 41</ScrollView>

Activity側のコードは以下です。

kotlin

1class SentMailListActivity : AppCompatActivity() { 2 3 private lateinit var binding : ActivitySentMailListBinding 4 private val viewModel: ReportsViewModel by viewModels() 5 lateinit var mAdapter: CustomAdapter 6 7 override fun onCreate(savedInstanceState: Bundle?) { 8 super.onCreate(savedInstanceState) 9 binding = ActivitySentMailListBinding.inflate(layoutInflater) 10 setContentView(binding.root) 11 12 // RecyclerViewの取得 13 //https://hirauchi-genta.com/kotlin-recyclerview/ 14 val recyclerView = binding.recyclerView 15 16 val dividerItemDecoration = DividerItemDecoration(this, LinearLayoutManager(this).orientation) 17 recyclerView.addItemDecoration(dividerItemDecoration) 18 19 // LayoutManagerの設定 20 recyclerView.layoutManager = LinearLayoutManager(this) 21 22 // CustomAdapterの生成と設定 23 mAdapter = CustomAdapter(viewModel.reportsData) 24 recyclerView.adapter = mAdapter 25 } 26}

xml

1<LinearLayout 2 xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id="@+id/container" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent"> 6 7 <androidx.recyclerview.widget.RecyclerView 8 android:id="@+id/recycler_view" 9 android:layout_width="match_parent" 10 android:layout_height="wrap_content"/> 11</LinearLayout>

参考サイト
【Kotlin基礎】RecyclerViewで項目を一覧表示させる方法を ...

イメージ説明
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/04/13 06:01

RecyclerView の各セルに ScrollView を使う意味がわかりません。
pice

2021/04/13 06:14

申し訳ありません。画面の上下だけスクロールできたらと思ってましたが、各セルになってましたかね????
hoshi-takanori

2021/04/13 08:17

というか、そもそも RecyclerView を使えば表示内容が多い場合はスクロールしますので、ScrollView を使う必要はないはず…。
pice

2021/04/13 08:23

すみません、先程の返信を打っている間に必要ないかもと思いました。修正してみます。ありがとうございました!
pice

2021/04/13 08:31

表示できました!ありがとうございました!
guest

回答1

0

自己解決

質問への追記・修正の依頼にてhoshi-takanoriさんに
各セルに ScrollView を使う必要はない旨、ご指摘頂き、修正したところ、きれいに表示できました。
hoshi-takanoriさんありがとうございました!

投稿2021/04/13 08:34

pice

総合スコア409

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問