2017-02-05 22 views
0

Я использовал Firebase RecyclerViewAdapter в моем приложении, но так как приведенный ниже код не запускает populateViewHolder без каких-либо данных для загрузки в первую очередь, я не могу показать загрузить полное сообщение для начальной загрузкиКак определить значение null или нет дочерних значений, присутствующих в FirebaseRecyclerAdapter

RecyclerView recycler = (RecyclerView) findViewById(R.id.messages_recycler); 
recycler.setHasFixedSize(true); 
recycler.setLayoutManager(new LinearLayoutManager(this)); 

mAdapter = new FirebaseRecyclerAdapter<Chat, ChatHolder>(Chat.class, android.R.layout.two_line_list_item, ChatHolder.class, mRef) { 
    @Override 
    public void populateViewHolder(ChatHolder chatMessageViewHolder, Chat chatMessage, int position) { 
     chatMessageViewHolder.setName(chatMessage.getName()); 
     chatMessageViewHolder.setText(chatMessage.getText()); 
    } 
}; 
recycler.setAdapter(mAdapter); 

ответ

1

Эта информация описывается следующим описанием: Handle empty state for recycleview. Вы можете справиться с этим, реализовав в адаптере onDataChanged(). snippet from the sample app of FirebaseUI:

@Override 
protected void onDataChanged() { 
    // if there are no chat messages, show a view that invites the user to add a message 
    mEmptyListView.setVisibility(
     mRecyclerViewAdapter.getItemCount() == 0 ? View.VISIBLE : View.INVISIBLE 
    ); 
} 
0

если (chatMessage.getName(). Equals ("")) {// нулевое значение} еще { // выполнить код}

+0

Если весь узел пуст, не срабатывает в первую очередь .., поэтому вышеуказанное решение не будет работать. – Gowrav