FirebaseListAdapter가 Firebase-Ui 3.1에서 개별 항목을 표시하지 못함
Firebase-Ui 3.1의 API, 특히 FirebaseListAdapter에 대한 일부 변경 사항이 도입되었습니다. . 목록 어댑터를 구성하는 데 사용된 원래 코드가 더 이상 유효하지 않아 ListView에 데이터가 표시되지 않습니다.
이 문제를 해결하려면 새로운 요구 사항을 준수하도록 코드를 업데이트해야 합니다.
FirebaseListOptions<ChatMessage> options = new FirebaseListOptions.Builder<ChatMessage>() .setQuery(FirebaseDatabase.getInstance().getReference("Lobbies").child(leaderID).child("Messages"), ChatMessage.class).setLayout(R.layout.message).build(); adapter = new FirebaseListAdapter<ChatMessage>(options) { @Override protected void populateView(View v, ChatMessage model, int position) { // Get references to the views of message.xml TextView messageText = v.findViewById(R.id.message_text); TextView messageUser = v.findViewById(R.id.message_user); TextView messageTime = v.findViewById(R.id.message_time); // Set their text messageText.setText(model.getMessageText()); messageUser.setText(model.getMessageUser()); // Format the date before showing it messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)", model.getMessageTime())); } };
또한 데이터를 표시하고 메모리 누수를 방지하려면 데이터베이스의 변경 사항 듣기를 시작하고 중지하는 것이 필수적입니다. 이는 다음 메소드를 추가하여 달성할 수 있습니다:
@Override protected void onStart() { super.onStart(); adapter.startListening(); } @Override protected void onStop() { super.onStop(); adapter.stopListening(); }
위 내용은 내 FirebaseListAdapter가 Firebase-UI 3.1에서 개별 항목을 표시하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!