У меня 2 кнопки. По нажатию кнопки я решаю, какую базу данных выбрать для повторного просмотра. Как, например, по нажатию кнопки B1, я установил базу данных DB1 для просмотра переработчика. Я использую firebaserecycleradapter.
Проблема в том, что getAdapter (). NotifyDataSetChanged () для утилита-ревизора, похоже, не работает из определения FirebaseRecyclerAdapter, а работает из-за заполнителя. Но поскольку я задаю запрос для определения FirebaseRecyclerAdapter, в конце выбираемая база данных не изменяется при нажатии кнопки.
Вот код:
//global declaration
FirebaseRecyclerAdapter<HomeBlog, BlogViewHolder> firebaseRecyclerAdapter;
//FirebaseRecyclerAdapter part:
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<HomeBlog, BlogViewHolder>(
HomeBlog.class,
R.layout.profile_row,
BlogViewHolder.class,
query
//the query is the Firebase database that I want at a time.
//since getAdapter().notifyDataSetChanged() not reloading from here. query remains same.
)
{
@Override
protected void populateViewHolder(BlogViewHolder viewHolder, HomeBlog model, int position) {
final String post_key = getRef(position).getKey();
final String postPosition = String.valueOf(position);
//getAdapter().notifyDataSetChanged() seems to load in populateviewholder though.
//this I checked using Toast.
viewHolder.setImage(post_key);
viewHolder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//other code
}
});
}
};
mBlogList.setAdapter(firebaseRecyclerAdapter);
//one button click example:
grid.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//changing the query
query = mDatabase.orderByChild("UserId").equalTo(userId);
mBlogList.setAdapter(firebaseRecyclerAdapter);
mBlogList.getAdapter().notifyDataSetChanged();
}
});
Я хочу убедиться, что часть определения firebaserecycleradapter также загружается, когда я вызываю getAdapter (). NotifyDataSetChanged (). Потому что он содержит запрос.
Есть какой-то подход к этому? Или я делаю совершенно неправильный процесс?