【问题标题】:Deleting an item from a listView从 listView 中删除项目
【发布时间】:2015-01-16 03:16:10
【问题描述】:

在我为学校做的一个项目中,我需要一个项目列表(每个项目都是由用户按下按钮等添加的)。 每个项目将包含几个对象/视图,其中一个是按钮。 该按钮应该删除创建的整个项目(列表行)。

我写的代码没有用,因为我在google 4小时后做了太多的更改。

我知道如何使用我的自定义 arrayadapter 创建 listView、如何将项目添加到列表以及如何自定义列表的项目(自定义视图)。我不知道如何使该按钮删除它所在的项目。

【问题讨论】:

  • 您仍然应该提供一些代码,或者至少更好地解释似乎是什么问题。
  • 我的回答中有一个通用代码,但如果您发布相关代码,我们可能会为您提供更好的帮助。

标签: android listview android-arrayadapter


【解决方案1】:

如果要删除该项目,则需要以下代码行

arrayAdapter.remove(objectListAdapterMadeFrom.get(indexOfItemToBeDeleted));

也叫

arrayAdapter.notifyDataSetChanged()

如果您在某处使用setNotifyOnChange(false);

【讨论】:

  • notifyDataSetChanged() 不是必需的。 ArrayAdapter 会通过 remove() 方法自动为您完成。
  • 哦...我不确定。我将编辑我的答案。谢谢!
【解决方案2】:

首先,感谢您的回答。

我最终做的是:

添加了“int pos;”在主要活动中。

在主要活动中添加了一个方法:

private OnItemClickListener listener = new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { pos = position; } };

然后,在按钮内我添加了这一行:

alarmList.remove(pos);

修复了它。

我仍然不知道我的解决方案的效率如何,很想听听你的想法。

顺便说一句,虽然我继续我的项目并添加了一些东西,如果你仍然想要代码,我会在这里发布。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多