我试图从ArrayAdapter中删除
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
Toast.makeText(getApplicationContext(),dataSnapshot.getKey(),Toast.LENGTH_LONG).show();
String id = dataSnapshot.getKey();
Card card1 = new Card(id);
cardArrayAdapter.remove(card1);
listView.setAdapter(cardArrayAdapter);
cardArrayAdapter.notifyDataSetChanged();
}
如果我在cardArrayAdapter.add
中使用onChildRemoved
,那么它会在listView中添加新的子项。
但是,如果我在cardArrayAdatper.remove
onChildAdded
无法从列表中删除
我做了这个
Card card = new Card(dataSnapshot.getKey(), lat.getValue().toString(), tempLatitude, address);
cardArrayAdapter.add(card);
listView.setAdapter(cardArrayAdapter);
答案 0 :(得分:0)
创建新对象并期望删除特定卡时,无法从适配器中删除卡对象。
使用cardArrayAdapter.remove(new Card(id));
表示您正在从适配器中删除刚刚创建的卡对象。你需要做的是根据id找到所需的卡片对象,然后将其删除:
cardArrayAdapter.remove(foundedCardObject)
希望它有所帮助。