почему я не могу обновить / перезагрузить свой ListView?
Я написал приложение, которое считывает html-сайты, сохраняет информацию в String-Array и представляет ее в моем ListView.
Но каждый раз, когда я закрываю и снова открываю приложение, новый контент добавляется к существующему контенту.
В первый раз я получаю, э. например, «1 2 3 4» и во втором прогоне «1 2 3 4 1 2 3 4», затем «1 2 3 4 1 2 3 4 1 2 3 4» и т. д.
Я много гуглю и нахожу способы очистить ArrayAdapter (aa) и пополнить его новыми данными
-> aa.clear () / aa.setModifyDataChanged () / aa.remove (объект String) / aa.add (String)
но каждый раз, когда я вызываю один метод, мое приложение закрывается принудительно, и LogCat показывает исключение: java.lang.UnsupportedOperationException.
Зачем? Это действительно размалывает мои механизмы. Весь субботний день я пытаюсь это исправить - без успеха ...
Может быть, кто-нибудь может мне помочь!?
Вот мой код-фрагмент
общедоступный класс расширяет ListActivity
{
private static final int AKTUALISIEREN = 0;
private static ArrayList<String> al = new ArrayList<String>();
static String[] TST;
static ArrayAdapter<String> ad;
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case AKTUALISIEREN:
getIt();
//here a ad.close does a force close
setListAdapter(ad);
ListView lv = getListView();
lv.setTextFilterEnabled(true);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getIt();
ad = new ArrayAdapter<String>(this, R.layout.list_item, TST);
setListAdapter(ad);
// here, when I try ad.clear() my app does a force close
ListView lv = getListView();
lv.setTextFilterEnabled(true);
}
public static void getIt ()
{
// Here I get the source-code of the html-site and parse my content
// All necessary Information I write in my String Array TST, declared above in a static way
}
Надеюсь, кто-нибудь может мне помочь ...
Большое спасибо и хорошее воскресенье.