0
我有以下列表聲明:如何重新添加字符串數組到數組適配器?
final ArrayList<String> timeSlot = new ArrayList<String>();
list = (ListView) findViewById(R.id.listviewtime);
我知道,如果我要添加一個字符串數組到一個新的適配器將它只是創造這樣的:
final ArrayAdapter<String> adapterTime = new ArrayAdapter<String>
(
this,
R.layout.textv,
timeSlot
);
list.setAdapter(adapterTime);
然而,我要重新添加適配器後的項目我有這樣清除了它:
adapterTime.clear();
adapterTime.addAll(timeSlot);
list.setAdapter(adapterTime);
這似乎並沒有工作。任何人都可以給我一些建議?
編輯:
這是我想要的東西做:
if(radioA.isChecked()){
if(adapterTime.getItem(adapterTime.getCount()-1).equals("20:00:00"))
{
//do nothing
}
else{
adapterTime.clear();
adapterTime.addAll(timeSlot);
adapterTime.notifyDataSetChanged();
}
我加notifychanged但它仍然一片空白。這個想法是,當我點擊一個小時,這是radioA,它會檢查它是否等於20:00:00,如果沒有,那麼它會清除並重新添加一切。
如果你可以給出更多關於你在做什麼的背景(例如,你正在進行這些調用的Android方法),這可能會有所幫助,所以我們可以確定它是否可能在某個點不直觀(因此可能沒有顯示) – jwir3
'adapterTime.notifyDataSetChanged()'在那裏丟失。 – Shark
你不需要設置適配器eveytime。鯊魚的答案必須奏效。每當你改變項目時調用notifyDataSetChanged – uguboz