我想阻止我的列表視圖項目追加當我按下按鈕兩次。我嘗試使用.Clear(),但我不知道該把它放在哪裏或如何放置它,有時它甚至會停止填充項目或根本不清除項目。Android無法清空列表視圖項目
全球的東西:
ArrayAdapter<CharSequence> adapter;
ArrayList<MessageDetails> details;
我的按鈕:
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try
{
//Tried clearing adapter first before code runs but items do not even get displayed
adapter.clear();
adapter.notifyDataSetChanged();
//sendPostData calls refreshListView method
new sendPostData().execute(nric.getText().toString());
}
catch (Exception e)
{
}
}
我refreshListView()方法:
private void refreshListView()
{
adapter = new ArrayAdapter<CharSequence>(getActivity().getApplicationContext(), android.R.layout.simple_list_item_1, items);
myInfoList.setAdapter(adapter);
details = new ArrayList<MessageDetails>();
MessageDetails Detail;
Detail = new MessageDetails();
for (int i =0; i < itemName.size(); i++)
{
float totalprice = itemPrice.get(i) * Quantity.get(i);
Detail = new MessageDetails();
Detail.setitemName(itemName.get(i));
Detail.setItemDescription(description.get(i));
Detail.setitemPrice(String.valueOf(totalprice));
Detail.setQuantity(Quantity.get(i).toString() + " sets");
Detail.setDate(purchaseDate.get(i).toString());
details.add(Detail);
}
myInfoList.setAdapter(new CustomAdapter(details , getActivity()));
}
編輯刪除第一個適配器。
全局項:
CustomAdapter mCustomAdapter;
refreshListView:
private void refreshListView()
{
details = new ArrayList<MessageDetails>();
MessageDetails Detail;
Detail = new MessageDetails();
for (int i =0; i < itemName.size(); i++)
{
float totalprice = itemPrice.get(i) * Quantity.get(i);
Detail = new MessageDetails();
Detail.setitemName(itemName.get(i));
Detail.setItemDescription(description.get(i));
Detail.setitemPrice(String.valueOf(totalprice));
Detail.setQuantity(Quantity.get(i).toString() + " sets");
Detail.setDate(purchaseDate.get(i).toString());
details.add(Detail);
}
mCustomAdapter = new CustomAdapter(details , getActivity());
myInfoList.setAdapter(mCustomAdapter);
}
refreshListView()是在aync任務-sendPostData( )? –
是的,與其他代碼,但它不影響適配器 –