【发布时间】:2020-07-15 07:05:51
【问题描述】:
我的 recyclerview 代码出现错误,这只是一个从 uid 数据库中检索孩子的简单代码,但它没有显示任何内容,我得到了这个 E/RecyclerView:未连接适配器;在我的 logcat 中跳过布局错误
这是我的 MainActivity
public class ProsesPesananActivity extends AppCompatActivity {
DatabaseReference database;
RecyclerView recyclerView;
ArrayList<Status> list;
StatusAdapter adapter;
String uid;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_proses_pesanan);
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
uid = firebaseAuth.getUid();
recyclerView = (RecyclerView) findViewById(R.id.list_proses);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
list = new ArrayList<Status>();
database = FirebaseDatabase.getInstance().getReference().child("PasFoto").child(uid);
database.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren())
{
Status s = dataSnapshot.getValue(Status.class);
list.add(s);
}
adapter = new StatusAdapter(ProsesPesananActivity.this,list);
recyclerView.setAdapter(adapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(ProsesPesananActivity.this, "Error", Toast.LENGTH_SHORT).show();
}
});
}
}
这是我的适配器
public class StatusAdapter extends RecyclerView.Adapter<StatusAdapter.MyViewHolder> {
Context context;
ArrayList<Status> statuses;
public StatusAdapter (Context c, ArrayList<Status> s){
context = c;
statuses = s;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new MyViewHolder(LayoutInflater.from(context).inflate(R.layout.item_status,parent,false));
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.shopId.setText(statuses.get(position).getShopId());
}
@Override
public int getItemCount() {
return statuses.size();
}
class MyViewHolder extends RecyclerView.ViewHolder
{
TextView shopId, ukuran, jumlah, total, status;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
shopId = (TextView) itemView.findViewById(R.id.tv_shopId);
ukuran = (TextView) itemView.findViewById(R.id.tv_ukuran);
jumlah= (TextView) itemView.findViewById(R.id.tvDetailJumlah);
total = (TextView) itemView.findViewById(R.id.tv_total);
}
}
}
如您所见,我尝试使用卡片布局将数据从 firebase 检索到我的 recyclerview 中,但我什么也没得到
【问题讨论】:
-
我应该在哪里写这些数据?对不起,我是新来的。
-
在此之后
recyclerView.setLayoutManager(new LinearLayoutManager(this)); -
我写这个 setOrientation 的时候写不出来
-
为什么?您在编写 setorientation 时遇到错误?
-
不,只是我不会写,只是“红色”。
标签: java android firebase firebase-realtime-database android-recyclerview