我正在使用firebase开发一个笔记应用程序。正如您在第一个屏幕截图中看到的那样,我使用自定义列表视图来显示来自firebase数据库的所有数据。
之后我有一个setOnItemLongClickListener来从listview中删除一个选定的项目。因此,当我长按一个项目时,我有这个AlertDialog菜单。
所以,接下来我要按“是”'按钮并从listView中删除所选项目。
这是我的setOnItemLongClickListener代码
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) {
}
});
dialogBuilder.show();
return false;
}
});
这是ListAdapter类
public class ListAdapter extends ArrayAdapter<Post>{
public ListAdapter(Context context, int resource, List<Post> objects){
super(context, resource, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
if(convertView == null){
convertView = ((Activity)getContext()).getLayoutInflater().inflate(R.layout.item_row,parent,false);
}
TextView listName = (TextView) convertView.findViewById(R.id.item_title);
TextView date = (TextView) convertView.findViewById(R.id.item_date);
TextView body = (TextView) convertView.findViewById(R.id.item_body);
Post list = getItem(position);
listName.setText(list.getTitle());
date.setText(list.getDate());
body.setText(list.getBody());
//checkBox.setVisibility(View.GONE);
return convertView;
}
}
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) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
这是我的Firebase数据库
问题是我无法获取特定的长按项目的ID来删除它。
例如,如果我在第一项中长按,我想获得身份证 -KiFDsP6qOUAo6hw_ES0。任何人都可以帮助我,我该怎么做?
答案 0 :(得分:3)