单击按钮后,Listview不会立即更新

时间:2015-11-21 09:26:20

标签: android

我有一个列表视图,其中包含Product(productid,productname)+一个按钮

我正在填写下面的ArrayList。

ArrayList<Product> products = new ArrayList<Product>();
//fill products here
productAdapter adapter = new ProductAdapter(getApplicationContext(), products);
productListView.setAdapter(adapter);
productListView.setVisibility(View.VISIBLE);

现在在适配器

public View getView(final int position, View convertView, ViewGroup parent) {

// some other code

    holder.btn_addtocart.setOnClickListener(new OnClickListener() {
       @Override
       public void onClick(View v) {
        // TODO Auto-generated method stub
        products.get(position).setname("ABC");

       }
    });
}

问题是它没有立即更新。当我们向下滚动并向上滚动时它会发生变化。

为什么不立即更新listview?

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

要刷新列表,您需要在更新数据后调用notifyDataSetChanged()

例如:

holder.btn_addtocart.setOnClickListener(new OnClickListener() {
       @Override
       public void onClick(View v) {
          products.get(position).setname("ABC");
          notifyDataSetChanged();
       }
});