为了让我的问题更容易理解,让我先从我的观点开始。
我有一个名为Menu的xml文件,其中包含自定义列表视图。我创建了另一个名为MenuCell的xmlview,如下所示
现在点击添加按钮我将项目添加到购物车。除了不在点击事件上更新购物车的价值(右上角)之外,它工作得很好。但是,如果我导航到不同的视图并在此时返回到此视图,我将正确地反映出购物车中添加的项目数量。那么当我点击我的arradepter视图的ImageButton时,如何重新加载我的controllerview。
这是我的适配器代码
holder.imageButton1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
addItem(position);
notifyDataSetChanged();
}
});
void addItem(int position) {
count++;
}
其中count是项目添加计数。
如果有人能告诉我如何能够将我的arrayadpter类的计数反映到包含实际列表视图的其他控制器类。
任何帮助将不胜感激
提前致谢。
答案 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数据已更改,因此需要时间刷新。
如果您可以粘贴更多的适配器代码,我可以提供帮助