1

The problem is, I am getting the runtime error when I trying to get firebase data into a RecyclerView. Error is

java.lang.RuntimeException: java.lang.NoSuchMethodException 

I have implemented it last time but now I can't get it what have I done wrong.

My main class setting firebase initialization-

 public class Shayari extends AppCompatActivity { private RecyclerView recyclerView; private DatabaseReference reference; TextView texttest; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shayari); texttest=findViewById(R.id.test);//just for test reference= FirebaseDatabase.getInstance().getReference("Catogory/Love"); recyclerView=findViewById(R.id.recyclerview); recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)); recyclerView.setHasFixedSize(true); FirebaseRecyclerAdapter<DataModel,DataViewHolder> adapter = new FirebaseRecyclerAdapter<DataModel, DataViewHolder>( DataModel.class, R.layout.item_recyclerview, DataViewHolder.class, reference) { @Override protected void populateViewHolder(DataViewHolder viewHolder, DataModel model, int position) { viewHolder.setTitle(model.getTitle()); viewHolder.setShayari(model.getShayari()); } }; recyclerView.setAdapter(adapter); texttest.setText(reference.toString()); } public class DataViewHolder extends RecyclerView.ViewHolder{ TextView text_title,text_shayari; public DataViewHolder(View itemView) { super(itemView); text_title=itemView.findViewById(R.id.titletext); text_shayari=itemView.findViewById(R.id.shayaritext); } public void setShayari(String shayari) { text_shayari.setText(shayari); } public void setTitle (String title){ text_title.setText(title); } } } 

Model Class for getting data-

class DataModel { private String titles, shayaris; public DataModel() { } public DataModel(String titles, String shayaris) { this.titles = titles; this.shayaris = shayaris; } public String getTitle() { return titles; } public void setTitle(String title) { this.titles = title; } public String getShayari() { return shayaris; } public void setShayari(String shayari) { this.shayaris = shayari; } } 

This is my firebase hierarchy structure

https://unikshayari.firebaseio.com/Catogory/Love/s01/shayaris "data"

1 Answer 1

1

the inner class must be static.

change this

 public class DataViewHolder extends RecyclerView.ViewHolder 

to

 public static class DataViewHolder extends RecyclerView.ViewHolder 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.