前提・実現したいこと
recyclerviewで画面に一行ずつしか表示されず
まとまって表示されません
いろいろと試したのですがうまくいきません
回答してくれたら幸いです
エラーは特に出ていません
発生している問題・エラーメッセじ
特になし
該当のソースコード
Java
☆彡MainActivity:code➡
package com.example.recyclerview1;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.QuerySnapshot;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
RecyclerView recview; ArrayList<model> datalist; FirebaseFirestore db; myadapter myadapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recview=(RecyclerView)findViewById(R.id.recview); recview.setLayoutManager(new LinearLayoutManager(this)); datalist=new ArrayList<>(); myadapter=new myadapter(datalist); recview.setAdapter(myadapter); db=FirebaseFirestore.getInstance(); db.collection("students").get() .addOnSuccessListener (new OnSuccessListener<QuerySnapshot>() { @Override public void onSuccess(QuerySnapshot queryDocumentSnapshots) { List<DocumentSnapshot> list=queryDocumentSnapshots.getDocuments(); for (DocumentSnapshot d:list){ model obj=d.toObject(model.class); datalist.add(obj); } myadapter.notifyDataSetChanged(); } }); }
☆彡model:code➡
package com.example.recyclerview1;
public class model {
String name, email; public model() {} public model(String name, String email){ this.name=name; this.email=email; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }
}
☆彡myadapter:code➡
package com.example.recyclerview1;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
public class myadapter extends
RecyclerView.Adapter<myadapter.myviewholder>
{
ArrayList<model> datalist;
public myadapter(ArrayList<model> datalist) { this.datalist = datalist; } @NonNull @Override public myviewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view= LayoutInflater.from(parent.getContext()) .inflate(R.layout.my_row, parent, false); return new myviewholder(view); } @Override public void onBindViewHolder(@NonNull myviewholder holder, int position) { holder.t1.setText(datalist.get(position).getName()); holder.t2.setText(datalist.get(position).getEmail()); } @Override public int getItemCount() { return datalist.size(); } class myviewholder extends RecyclerView.ViewHolder{
TextView t1, t2;
public myviewholder(@NonNull View itemView) {
super(itemView); t1=itemView.findViewById(R.id.t1); t2=itemView.findViewById(R.id.t2); }
}
}
☆彡acrivity_main.xml:code➡
<?xml version="1.0" encoding="utf-8"?><androidx.appcompat.widget.LinearLayoutCompat 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="match_parent"
tools:context=".MainActivity">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recview"/>
</androidx.appcompat.widget.LinearLayoutCompat>
☆彡my_row➡
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout
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:orientation="vertical"
android:layout_margin="10dp"
android:layout_height="match_parent">
<androidx.cardview.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="16dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <TextView android:id="@+id/t1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="Name" android:textColor="#000" android:textSize="25dp" android:textStyle="bold" /> <TextView android:id="@+id/t2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/t1" android:layout_centerHorizontal="true" android:text="email" android:textSize="23dp" /> </RelativeLayout> </androidx.constraintlayout.widget.ConstraintLayout> </androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
試したこと
様々なレイアウトを試した
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー