2013-08-27 13 views
1

为了让我的问题更容易理解,让我从我的视图的图像开始。需要重新加载mainActivity控制器点击位于自定义列表视图中的按钮

enter image description here

我有一个名为菜单的XML文件,已自定义列表视图中它。我创建了另一个名为MenuCell的xmlview,如下所示。
enter image description here

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

这是我的适配器代码

holder.imageButton1.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 

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

void addItem(int position) { 

     count++; 
     } 

当计数产品加入计数。

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

任何帮助将不胜感激

在此先感谢。

回答

0

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

+0

您好gunar感谢您的回复,但可以请你详细解释一下。 – MayurCM

+0

控制器是模型类还是简单视图? ('TextView'?) – gunar

+0

它的模型类 – MayurCM

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 
0

后呼叫的理解几个环节:
notifyDataSetChanged();
只需添加:
YourList.invalidateViews();
YourList.scrollBy(0, 0);

0

您的名单是不是在即时刷新,因为你有刷新适配器的数据,然后调用notifyDataSetChanged();

假设你有一个在textview中可见的数组中的数据。然后在你的函数addItem中添加数据到你的数组,然后调用notifyDataSetChanged(); 这将立即告诉列表视图,它包含的watever数据被更改以便刷新。

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

相关问题