Mình đang gặp 1 vấn đề chưa biết xử lý sao là : Mình có gọi dữ liệu từ firebase rồi mới return view ra , nhưng vấn đề là khi return view thì dữ liệu mới được trả về . mọi người có thể cho mình hướng giải quyết được không ạ . Cho mình hỏi có cách nào để lấy dữ liệu rồi mới return view không ạ =.=
OnCreateview ở Fragment
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
mView = inflater.inflate(R.layout.fragment_product, container, false);
rcvProduct = mView.findViewById(R.id.rcv_product);
mainActivity = (MainActivity) getActivity();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mainActivity);
rcvProduct.setLayoutManager(linearLayoutManager);
productAdapter = new ProductAdapter();
productAdapter.setData(getListProdcut())
rcvProduct.setAdapter(productAdapter);
return mView;
}
Lấy dữ liệu
GetListProduct
private List<Product> getListProdcut() {
List<Product> list = new ArrayList<>();
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
Product1 product1Obj = postSnapshot.getValue(Product1.class);
list.add(new Product(R.drawable.img2, product1Obj.getNameProduct(), product1Obj.getDescriptionProcduct()));
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
System.out.println("failed");
}
});
return list;
}