gpt4 book ai didi

java - Android Firebase-未将所有键作为列表获取,我该怎么办?

转载 作者:行者123 更新时间:2023-12-01 17:26:35 27 4
gpt4 key购买 nike

我想获取recyclerview中所有键的列表,尝试了一切但什么也没得到,我不想要键的属性。一旦我获得了 recyclerview 中所有键的列表,我将使其可点击,然后我想要被点击的键的属性,请帮助我这个我的最后一年项目。

我没有使用 POJO 类的 setFname 方法,因为我手动将数据放入 Firebase 中。

enter image description here

enter image description here

package com.fyp.phasse_4;

import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

import java.util.ArrayList;


public class foodBasketFragment extends Fragment {

private ArrayList<FoodsModel> foodsModels;
private DatabaseReference foodRef;
private FirebaseAuth mAuth;
private String currentUserID;
RecyclerView recyclerView;
String p;


public foodBasketFragment() {
}

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable final ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_food_basket, container, false);
foodRef = FirebaseDatabase.getInstance().getReference().child("FoodData");
mAuth = FirebaseAuth.getInstance();
FoodsModel model = new FoodsModel()
recyclerView = view.findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
currentUserID = mAuth.getCurrentUser().getUid();
foodsModels = new ArrayList<>();
return view;
}

@Override
public void onStart() {
super.onStart();
FirebaseRecyclerOptions options = new FirebaseRecyclerOptions.Builder<FoodsModel>()
.setQuery(foodRef, FoodsModel.class)
.build();

FirebaseRecyclerAdapter<FoodsModel, myViewHolder> adapter = new
FirebaseRecyclerAdapter<FoodsModel, myViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull final myViewHolder holder, final int position,
@NonNull final FoodsModel model) {

foodRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
}
holder.name.setText();
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});

}

@NonNull
@Override
public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.foods_list, parent,
false);
return new myViewHolder(view);
}
};
recyclerView.setAdapter(adapter);
adapter.startListening();


}
public static class myViewHolder extends RecyclerView.ViewHolder
{
TextView name;
public myViewHolder(@NonNull View itemView) {
super(itemView);

name = itemView.findViewById(R.id.txtName);
}
}

}

这是我的 POJO 类,

package com.fyp.phasse_4;
public class FoodsModel {
public String fName;

public FoodsModel() {
}
public FoodsModel(String fName) {
this.fName = fName;
}

public String getfName() {
return fName;
}

public void setfName(String fName) {
this.fName = fName;
}
}

最佳答案

for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
String key = dataSnapshot1.getKey();
System.out.println(key);
}

关于java - Android Firebase-未将所有键作为列表获取,我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61202310/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com