如何在Android中单独更新ArrayAdapter数据
问题描述:
我想更新和ArrayAdapter
a TextView
当用户点击+
或-
按钮时。我无法弄清楚如何在ArrayApapter
中更改个人资料。
这里是为了更好地解释图像是我想做的事:如何在Android中单独更新ArrayAdapter数据
public View getView(int position, View countView, ViewGroup parent) {
View listView = countView;
if (listView == null) {
listView = LayoutInflater.from(getContext()).inflate(R.layout.listview, parent, false);
}
word currentWord = getItem(position);
TextView foodName = (TextView) listView.findViewById(R.id.food);
Button minus = (Button) listView.findViewById(R.id.minus);
Button add = (Button) listView.findViewById(R.id.add);
TextView total = (TextView) listView.findViewById(R.id.total);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
minus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
return listView;
}
答
每当您通过onclicklistener进行更改时,只需更改您的数据即可。就好像你正在使用ArrayList>然后只需要改变任何值就可以了,如果你用add +按第4个元素,然后从列表中获得第4个项目并将其设置为+1。然后使用notifydatasetChanged()刷新适配器。
在上面的代码中,只有当您使用数据时才能显示列表中的UI部分,因此可以非常轻松地完成此操作。
答
里面onClickListener,增加或减少的数量和调用onDataSetChanged()。
尝试此链接http://stackoverflow.com/questions/3724874/how-can-i-update-a-single-row-in-a-listview –