0
私はFirebaseRecyclerAdapter
を使用しています。アクティビティを開くとダイアログの進捗状況を表示したいと思います。データがロードされると消えてしまいます。リストが空の場合、メッセージが表示されます。私は彼らがaddListenerForSingleValueEvent
を使って解答を与えた他の質問を見た。これは私のためには機能しません。私のコードで何が間違っていますか?手伝って頂けますか?ありがとうございました!addListenerForSingleValueEventがFirebaseRecyclerAdapterの後に動作しない
progressDialog = ProgressDialog.show(RecordActivity.this, null, "Loading Data", true);
mDatabaseI = FirebaseDatabase.getInstance().getReference().child("user-record").child(getUid());
mAdapter = new FirebaseRecyclerAdapter<RecordItem, RecordViewHolder>(RecordItem.class, R.layout.record_item, RecordViewHolder.class, mDatabaseI) {
@Override
protected void populateViewHolder(final RecordViewHolder viewHolder, final RecordItem model, final int position) {
final DatabaseReference postRef = getRef(position);
// Set click listener for the whole post view
final String postKey = postRef.getKey();
viewHolder.bindToPost(model);
}
};
mRecycler.setAdapter(mAdapter);
mDatabaseI.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//onDataChange called so remove progress bar
//make a call to dataSnapshot.hasChildren() and based
//on returned value show/hide empty view
//use helper method to add an Observer to RecyclerView
progressDialog.dismiss();
boolean a = dataSnapshot.hasChildren();
if (Boolean.TRUE.equals(a)){
Toast.makeText(getApplicationContext(), "it is empity, Add a item", Toast.LENGTH_LONG).show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
で
if
を入力していないため? –firebaseデータベースからアイテムを読み込みます。それは働く – hulon