[Android]RecyclerViewにアイテムが1つしか表示されない
現象
データベースからデータを読み取ってRecyclerViewで一覧表示をしたい。データベースには複数登録されているはずなのに、RecyclerViewには1つしか表示されない。前回と違い、RecyclerView.AdapterのgetItemCount()は適切に設定されている。
原因
個々のviewをxmlファイルで定義して、コンストラクタのnewViewメソッドでinflateしている。このinflate元のxmlファイルにおいて、1番外のlayoutのlayout_heightがmatch_parentになっていたこと。wrap_contentに変更したら無事すべてのアイテムが表示された。
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View inflate= LayoutInflater.from(context).inflate(R.layout.row, parent, false);
return inflate;
}
row.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content" //ここ!
最新記事
すべて表示はじめに google play storeにアプリをアップロードしようとしたら下記のエラーが発生 現在、お客様のアプリは API レベル 31 を対象にしています。セキュリティとパフォーマンスが最適化された最新の API を利用するには、API レベル 33...
課題 androidのBottomNavigationを使用したアプリを作っている。ページを移動して戻って来た時にTextViewなどに書き込んだデータを保存しておきたい。 問題点 通常ActivityやFragmentを離れて戻って来た時にviewの内容などを保存したいと...
Comments