Search code examples
androidlistviewfirebase-realtime-databaselistadapterfirebaseui

How do i put a database reference into firebaselistadapter? i am getting an error when i put ref as in the code below


I need to add a database reference to the list adapter how do i do that from this code

private void populateTheData()
{
    ListView listView=(ListView)findViewById(R.id.lstView);
    DatabaseReference ref=FirebaseDatabase.getInstance().getReference();
    adapter=new FirebaseListAdapter<ChatMessage>(this,ChatMessage.class,R.layout.list_of_message,ref.getDatabase()){
        @Override
        protected void populateView(View v, ChatMessage model, int position) {
            TextView txtMessage=(TextView)findViewById(R.id.message_text);
            TextView txtUser=(TextView)findViewById(R.id.message_user);
            TextView txtTime=(TextView)findViewById(R.id.message_time);
            txtMessage.setText(model.getMessageText());
            txtUser.setText(model.getMessageUser());
            txtTime.setText(DateFormat.format("dd-mm-yyyy(HH:mm:ss)",model.getMessageTime()));

        }
    };
}

Solution

  • You need to change this line of code:

    adapter=new FirebaseListAdapter<ChatMessage>(this,ChatMessage.class,R.layout.list_of_message,ref.getDatabase()){
    

    with

    adapter=new FirebaseListAdapter<ChatMessage>(this,ChatMessage.class,R.layout.list_of_message,ref){
    

    Your ref variable is a DatabaseReference. I'm sure ref.getDatabase() does not return a DatabaseReference.