当我尝试从列表中删除特定项目时:
buyButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
tempToken -= selPerk.cost;
plrPerks.add(selPerk);
String tokStr = String.valueOf(tempToken);
tkn.setText(tokStr);
shopItems.remove(selPerk);
selPerk = new Perk();
perkDialog.dismiss();
}
});
似乎总是删除最后一项。这是我打开对话框的地方:
perks.setClickable(true);
perks.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
Perk perk = (Perk) perks.getItemAtPosition(position);
showItem(perk);
}
});
}
这是show Item功能:
public void showItem(Perk perk) {
if (tempToken >= perk.cost) {
selPerk = perk;
如何分别从列表和列表视图中删除特定项目?
感谢您的时间:)
答案 0 :(得分:1)
在“setOnItemClickListener”侦听器中,您将获取perk对象。因此,您可以从列表中删除该对象 -
shopItems.remove(perk);
然后你可以打电话 -
your_adapter.notifyDataSetChanged();
刷新列表视图。
答案 1 :(得分:0)
要从列表视图中删除特定项目,如果您有对要删除的视图的引用,则可以调用removeView(View toBeRemoved)。如果您有索引,则可以调用removeView(int index)。
http://developer.android.com/reference/android/widget/ListView.html
您可以使用remove(Object item)或remove(int index)以相同的方式从列表中删除特定项目。
http://docs.oracle.com/javase/7/docs/api/java/util/List.html
希望这有帮助!
答案 2 :(得分:0)
我修好了。每当我删除一个项目时,我必须这样做:
shopItems.remove(selPerk);
perk_adapter.notifyDataSetChanged();
所以我必须通知我的listeview适配器我删除了一个项目。