我想从所有产品的子日期中获取成本和产品名称的值。我得到上述代码的空值。
如何从不同的 Childs 中获取价值?
我的 Java 类:
public class CompleteExpenses {
String product;
String date;
Long cost;
Long quantity;
public CompleteExpenses() {
}
public String getProduct() {
return product;
}
public void setProduct(String product) {
this.product = product;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public Long getCost() {
return cost;
}
public void setCost(Long cost) {
this.cost = cost;
}
public Long getQuantity() {
return quantity;
}
public void setQuantity(Long quantity) {
this.quantity = quantity;
}
}
我的适配器:
public class Product_Adapter extends RecyclerView.Adapter {
List<CompleteExpenses> completeExpensesList;
public Product_Adapter(List<CompleteExpenses> completeExpensesList) {
this.completeExpensesList = completeExpensesList;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.product_layout,parent,false);
ViewHolderClass viewHolderClass=new ViewHolderClass(view);
return viewHolderClass;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
ViewHolderClass viewHolderClass = (ViewHolderClass) holder;
CompleteExpenses completeExpenses = completeExpensesList.get(position);
String strName = String.valueOf(completeExpenses.getProduct());
viewHolderClass.pr.setText(strName);
String strCost = String.valueOf(completeExpenses.getCost());
viewHolderClass.cs.setText(strCost);
}
@Override
public int getItemCount() {
return completeExpensesList.size();
}
public class ViewHolderClass extends RecyclerView.ViewHolder{
TextView pr,cs;
public ViewHolderClass(@NonNull View itemView) {
super(itemView);
pr = (TextView) itemView.findViewById(R.id.tv_productname);
cs = (TextView) itemView.findViewById(R.id.tv_costsum);
}
}
}
Java 活动:
public class complete_expenses extends AppCompatActivity {
List<CompleteExpenses> completeExpenses;
RecyclerView recyclerView;
Product_Adapter product_adapter;
DatabaseReference databaseReference,databaseReference1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_complete_expenses);
recyclerView=findViewById(R.id.rv_products);
recyclerView.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(this);
llm.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(llm);
databaseReference= FirebaseDatabase.getInstance().getReference().child("Project 1").child("CompleteExpenses");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
completeExpenses = new ArrayList<CompleteExpenses>();
CompleteExpenses e = snapshot.getValue(CompleteExpenses.class);
completeExpenses.add(e);
product_adapter=new Product_Adapter(completeExpenses);
recyclerView.setAdapter(product_adapter);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
Firebase 结构: