Android FirebaseRecyclerOptions不能与以下代码一起应用
我一直在编写以下代码。我想从firebase数据库中检索标题、价格、描述和图像视图,并将它们设置为我的变量。这样我就可以展示它们了。问题是,当我尝试运行项目时,它被停止了。我不确定我在代码中使用FirebaseOptions的方式。我认为这是一个出错的地方。任何建议都会有帮助Android FirebaseRecyclerOptions不能与以下代码一起应用,android,firebase,firebase-realtime-database,android-recyclerview,firebaseui,Android,Firebase,Firebase Realtime Database,Android Recyclerview,Firebaseui,我一直在编写以下代码。我想从firebase数据库中检索标题、价格、描述和图像视图,并将它们设置为我的变量。这样我就可以展示它们了。问题是,当我尝试运行项目时,它被停止了。我不确定我在代码中使用FirebaseOptions的方式。我认为这是一个出错的地方。任何建议都会有帮助 public class AllFragment extends Fragment { private RecyclerView allRecycler; private RecyclerView rec
public class AllFragment extends Fragment {
private RecyclerView allRecycler;
private RecyclerView recyclerViewCatTwo;
//Firebase
private DatabaseReference mCatOneDatabase;
private DatabaseReference mCatTwoDatabase;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View myview = inflater.inflate(R.layout.fragment_all, container, false);
mCatOneDatabase = FirebaseDatabase.getInstance().getReference().child("CatOneDatabase");
mCatTwoDatabase = FirebaseDatabase.getInstance().getReference().child("CatTwoDatabase");
// Cat one Recycler
allRecycler = myview.findViewById(R.id.recycler_all);
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false);
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);
allRecycler.setHasFixedSize(true);
allRecycler.setLayoutManager(layoutManager);
//Cat two Recycler
recyclerViewCatTwo = myview.findViewById(R.id.recycler_cattwo);
LinearLayoutManager linearLayoutManagerCatTwo = new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false);
linearLayoutManagerCatTwo.setStackFromEnd(true);
linearLayoutManagerCatTwo.setReverseLayout(true);
recyclerViewCatTwo.setHasFixedSize(true);
recyclerViewCatTwo.setLayoutManager(linearLayoutManagerCatTwo);
return myview;
}
@Override
public void onStart() {
super.onStart();
FirebaseRecyclerOptions<Data> options =
new FirebaseRecyclerOptions.Builder<Data>().setQuery(mCatOneDatabase,Data.class).build();
FirebaseRecyclerAdapter<Data,CatOneViewHolder>adapterOne = new FirebaseRecyclerAdapter<Data,CatOneViewHolder>
(
options
) {
@NonNull
@Override
public CatOneViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_all,parent,false);
CatOneViewHolder holder = new CatOneViewHolder(view);
return holder;
}
@Override
protected void onBindViewHolder(@NonNull CatOneViewHolder catOneViewHolder, int i, @NonNull final Data data) {
catOneViewHolder.setTitle(data.getTitle());
catOneViewHolder.setDescription(data.getDescription());
catOneViewHolder.setImage(data.getImage());
catOneViewHolder.setPrice(data.getPrice());
catOneViewHolder.myview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getActivity(),CatOneDetailsActivity.class);
intent.putExtra("title",data.getTitle());
intent.putExtra("description",data.getDescription());
intent.putExtra("price",data.getPrice());
intent.putExtra("image",data.getImage());
startActivity(intent);
}
});
}
如果您尝试在
onBindViewHolder
方法中记录data.getTitle()
数据,是否打印出了它?
private String image;
private String title;
private String description;
private String price;
private String id;
public Data(){
}
public Data(String image, String title, String description, String price, String id) {
this.image = image;
this.title = title;
this.description = description;
this.price = price;
this.id = id;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}