1

为了让我的问题更容易理解,让我从我的观点开始。

在此处输入图像描述

我有一个名为 Menu 的 xml 文件,其中包含自定义列表视图。我创建了另一个名为 MenuCell 的 xmlview,如下所示。
在此处输入图像描述

现在点击添加按钮,我将项目添加到购物车。除了在点击事件上不更新购物车的值(右上角)之外,它工作得很好。但是,如果我导航到不同的视图并此时返回此视图,我将正确反映添加到购物车中的商品数量。那么,当我点击我的 arradepter 视图的 ImageButton 时,如何重新加载我的控制器视图。

这是我的适配器代码

holder.imageButton1.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                addItem(position);
                notifyDataSetChanged();
            }
        });

void addItem(int position) {

        count++;
        }

其中 count 是项目添加计数。

如果有人能告诉我如何将我的 arrayadpter 类的这个计数反映到我的另一个持有实际列表视图的控制器类中。

任何帮助将不胜感激

提前致谢。

4

4 回答 4

0

将控制器的引用发送到列表适配器类。在控制器中,我猜你有一个计算一些数据的方法,然后调用更新包含购物车数据摘要的视图。只要确保更新在 UI 线程上。

于 2013-08-27T09:22:39.893 回答
0

之后:
notifyDataSetChanged();
只需添加:
YourList.invalidateViews();
YourList.scrollBy(0, 0);

于 2013-08-27T09:27:24.650 回答
0

您需要使用回调功能来通知您的活动,因此添加按钮是列表组件的一部分,因此您可以更新列表视图。

这里有几个链接用于理解使用接口的回调

http://cleancodedevelopment-qualityseal.blogspot.in/2012/10/understanding-callbacks-with-java.html


http://stackoverflow.com/questions/11577695/what-is-a-call-back-interface-in-java
于 2013-08-27T09:25:31.733 回答
0

您的 List 不会立即刷新,因为您必须刷新适配器的数据,然后调用 notifyDataSetChanged();

假设您有一个数组中的数据,该数组在 textview 中可见。然后在您的函数 addItem 中将数据添加到您的数组中,然后调用 notifyDataSetChanged(); 这将立即告诉列表视图它包含的水数据已更改,因此需要刷新。

如果您可以粘贴更多您的适配器代码,我会有所帮助

于 2013-08-27T09:53:56.967 回答