【发布时间】:2017-04-28 21:00:52
【问题描述】:
在我的 android 应用程序中,我有一个列表视图,其中包含来自 firebase 数据库的项目。当我从列表视图中删除一个项目时,它也正确地从 firebase 数据库中删除。问题是我不知道删除操作后谁刷新列表视图。任何人都可以帮我在删除后检索数据吗?
这是从列表视图中删除项目的代码
mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(final AdapterView<?> parent, View view, final int position, long id) {
final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MainActivity.this);
dialogBuilder.setTitle("Delete List___" );
dialogBuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Post post = (Post)parent.getItemAtPosition(position);
DatabaseReference del = FirebaseDatabase.getInstance().getReference().child("user-posts").child(getUid())
.child(post.getPostId());
del.setValue(null);
}
});
dialogBuilder.show();
return false;
}
});
这是我从数据库中检索数据时的代码。
mDatabase.child(getUid()).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Post post = dataSnapshot.getValue(Post.class);
mAdapter.add(post);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
Log.d(TAG,"dataCHANGE");
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
Log.d(TAG,"dataREMOVE "+ dataSnapshot.getKey());
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
Log.d(TAG,"dataMOVE");
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
【问题讨论】:
标签: android listview firebase firebase-realtime-database