how to disbanding recyclerview firebase DB. please help I need to develop a small news app. I add news every time the 1st news only shows in 1st position. I want to view the last added news in 1st position. how to do this.
MainAdapter to send every value to recyclerview This is my MainAdapter class:
public class MainAdapter extends FirebaseRecyclerAdapter<MainModel, MainAdapter.myViewHolder> {
/**
* Initialize a {@link RecyclerView.Adapter} that listens to a Firebase query. See
* {@link FirebaseRecyclerOptions} for configuration options.
*
* @param options
*/
public MainAdapter(@NonNull FirebaseRecyclerOptions<MainModel> options) {
super(options);
}
@Override
protected void onBindViewHolder(@NonNull myViewHolder holder, int position, @NonNull MainModel model) {
holder.title.setText(model.getTitle());
holder.category.setText(model.getCategory());
holder.description.setText(model.getDescription());
Glide.with(holder.img.getContext())
.load(model.getPurl())
.placeholder(R.drawable.noimagefound)
.circleCrop()
.error(R.drawable.noimagefound)
.into(holder.img);
}
@NonNull
@Override
public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.main_item, parent,false);
return new myViewHolder(view);
}
class myViewHolder extends RecyclerView.ViewHolder {
CircleImageView img ;
TextView title, category, description;
public myViewHolder(@NonNull View itemView) {
super(itemView);
img = (CircleImageView)itemView.findViewById(R.id.img1);
title = (TextView) itemView.findViewById(R.id.titletext);
category = (TextView) itemView.findViewById(R.id.category);
description = (TextView) itemView.findViewById(R.id.description);
}
}
This is my Admin Activity to view all posts:
public class AdminActivity extends AppCompatActivity {
RecyclerView recyclerView1;
AdminMainAdapter adminMainAdapter;
FloatingActionButton floatingActionButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_admin);
recyclerView1 = (RecyclerView)findViewById(R.id.arv);
recyclerView1.setLayoutManager(new LinearLayoutManager(this));
FirebaseRecyclerOptions<MainModel> options =
new FirebaseRecyclerOptions.Builder<MainModel>()
.setQuery(FirebaseDatabase.getInstance().getReference().child("posts"), MainModel.class)
.build();
adminMainAdapter = new AdminMainAdapter(options);
recyclerView1.setAdapter(adminMainAdapter);
floatingActionButton = (FloatingActionButton)findViewById(R.id.floatingActionButton);
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(AdminActivity.this,AddActivity.class));
}
});
}
@Override
protected void onStart() {
super.onStart();
adminMainAdapter.startListening();
}
@Override
protected void onStop() {
super.onStop();
adminMainAdapter.stopListening();
}
//Back Button Concept
@Override
public void onBackPressed() {
super.onBackPressed();
this.finish();
startActivity(new Intent(AdminActivity.this,Login.class));
}