0

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));
}

0 Answers0