0

我需要有关特定任务的帮助:

我的ListView主要活动中有一个与自定义Adapter关联的OnItemLongClick监听器,以及一个显示Dialog配置了许多操作(更改数量、取消项目......)的监听器,它就像一个魅力。

我的目标是在 中获得单击项目的物理副本Dialog,以立即显示所做的更改。

Adapter由于我的ListView项目很复杂并且由

我考虑过创建相同的结构(ListViewAdapter),只关联选定的项目,但它有点重......

在这种情况下,有没有更简单的解决方案可以帮助我?我的意思是原始 ListView 项目的真实副本,其中Dialog对原始对象所做的更改...

4

2 回答 2

1

发布您的相关代码可能有助于我们更清楚地指导您。

但是,您可以onItemLongClick((AdapterView, View, int position, long)使用position参数获取对象,即

YourObject objReference = yourActivityClassObjectList.get(position);

现在在显示对话框时,将其传递objReference给您的对话框,当进行更改时,更改此内容objReference并调用

adapter.notifyDataSetChanged();

而不是传递objReferenceto 对话框,您可以传递int position并在进行更改时获取对该对象的引用,更改内容并通知数据集更改为 Adapter。

于 2012-04-27T09:05:54.083 回答
1

当您单击一个列表视图项时,应触发onListItemClick回调。正如您在文档中看到的,第三个参数是position. 您可以调用以检索atYourAdapter.getItem(int)持有的元素listviewposition

于 2012-04-27T09:06:57.557 回答