需要在点击定制列表视图中的按钮时重新加载mainActivity控制器

时间:2013-08-27 09:18:08

标签: android android-listview

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

enter image description here

我有一个名为Menu的xml文件,其中包含自定义列表视图。我创建了另一个名为MenuCell的xmlview,如下所示 enter image description here

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

这是我的适配器代码

holder.imageButton1.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

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

void addItem(int position) {

        count++;
        }

其中count是项目添加计数。

如果有人能告诉我如何能够将我的arrayadpter类的计数反映到包含实际列表视图的其他控制器类。

任何帮助将不胜感激

提前致谢。

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您的列表当前没有刷新,因为您必须刷新适配器的数据,然后调用notifyDataSetChanged();

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

如果您可以粘贴更多的适配器代码,我可以提供帮助