У меня проблема с обновлением списка, когда пользователь закрывает одно действие и возвращается к предыдущему. Я вижу, что проблема очень распространена, но я не могу ее решить.
Я переопределил метод onResume:
@Override
public void onResume() {
super.onResume();
populateList();
}
populateList() — это метод, в котором я заполняю listView списком строк:
arrayAdapter = new CustomArrayAdapter(this, R.layout.symbol_item,list);
listView.setAdapter(arrayAdapter);
Проблема в том, что когда второе действие закрывается, новые элементы просто добавляются снова в ListView, поэтому у меня каждый элемент удваивается. Вроде не обновился.
Если я помещу notifyDataSetChanged() в onResume(), он выдаст мне исключение nullPointerException, потому что при первом запуске активности адаптер не инициализируется при первом запуске активности.
Я не знаю, как с этим справиться.
public class testActivity extends Activity {
private int id=1;
private ListView listView;
private CustomArrayAdapter arrayAdapter;
private ArrayList<String> list = new ArrayList<String>();
ArrayList<Item> objectList = new ArrayList<Item>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}
@Override
public void onResume() {
super.onResume();
populateList();
}
private void populateList() {
try {
objectList = new GetAsyncTask(id).execute();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TimeoutException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int size = objectList.size();
String name;
for (int i = 0; i < size; i++) {
name = objectList.get(i).getName();
list.add(name);
}
arrayAdapter = new CustomArrayAdapter(this, R.layout.symbol_item,
list);
listView.setAdapter(arrayAdapter);
}
}
ListView
строки. Если да, не звонитеpopulateList()
. - person Wroclai   schedule 10.01.2013list
, как вы это заполняете? - person Sam   schedule 10.01.2013