如何刷新android中的listview?

时间:2012-07-19 17:14:32

标签: android

这是我的代码: 这里_alProduct是一个在主类中定义为静态的ArrayList。 我在listview的长按中删除_alProduct中的项目。 现在我想显示列表视图,删除已删除的项目。

公共类MCRActivity2扩展了Activity {

TextView tvShoppingCart;
ListView lvSelectedItems;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mcractivity2);

    lvSelectedItems = (ListView) findViewById(R.id.lvSelectedItems);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, MobileCashRegisterActivity._alProduct);

    lvSelectedItems.setAdapter(adapter);

    lvSelectedItems.setOnItemLongClickListener(new OnItemLongClickListener() {

        public boolean onItemLongClick(AdapterView<?> adapter, View view,
                int position, long arg3) {
            // TODO Auto-generated method stub  
            String text = "Clicked item is " + adapter.getItemAtPosition(position);

            Toast.makeText(getApplicationContext(),text,Toast.LENGTH_LONG).show();//    ""+ lvSelectedItems.getSelectedItem().toString(),Toast.LENGTH_LONG).show();

            MobileCashRegisterActivity._alProduct.remove(position);
            MobileCashRegisterActivity._alPrice.remove(position);
            MobileCashRegisterActivity._alQuantity.remove(position);

            return false;
        }
    });
    }
}

1 个答案:

答案 0 :(得分:3)

致电remove()上的ArrayAdapter,而不是致电remove()上的ArrayList。这将从ArrayList中删除该项目并告诉AdapterView刷新其内容。