Я пытаюсь создать функцию refesh для моей главной страницы. Я искал много сайтов, но я не могу найти (для меня) преувеличение. Я загружаю информацию из базы данных sQLLite. Когда я использую свою активность добавления, и я возвращаюсь к активности MainScreen, элемент, который я добавил, не отображается. Как я могу обновить эти данные в тот момент, когда активность возобновляется.Android: Обновить ArrayAdapter на резюме
Любая помощь приветствуется, thx заранее.
public ListView whiskeylist;
String[] DataArryWhiskey;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Start db view of whiskey
DBConfig info = new DBConfig(this);
info.open();
DataArryWhiskey = info.getDataInArray();
info.close();
whiskeylist = (ListView) findViewById(R.id.listofWhiskey);
whiskeylist.setOnItemClickListener(this);
whiskeylist.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, DataArryWhiskey));
}// end onCreate
По совету Адиль я изменить код
public ListView whiskeylist;
String[] DataArryWhiskey;
ListAdapter Adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Start db view of whiskey
DBConfig info = new DBConfig(this);
info.open();
DataArryWhiskey = info.getDataInArray();
info.close();
whiskeylist = (ListView) findViewById(R.id.listofWhiskey);
Adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, DataArryWhiskey);
whiskeylist.setAdapter(Adapter);
// End db view of whiskey
}// end onCreate
@Override
public void onResume()
{
super.onResume();
DBConfig info = new DBConfig(this);
info.open();
DataArryWhiskey = info.getDataInArray();
info.close();
Adapter.notifyDataSetChanged(); // refresh adapter
}
однако я получаю ошибку на notifyDataSetChanged «метода notifyDataSetChanged не определено для типа ListAdapter» < - исправлена, изменив ListAdapter в ArrayAdapter, но приложение все еще падает.
, где вы называете метод showData? – user1114720
один вопрос, как вы начинаете добавлять активность? Два шага .. если вы начинаете добавлять Activity через startActivityForResult. 1) вызвать showData() из метода onActivityResult 2) или просто вызвать этот метод из onResume() – AAnkit
установка другого адаптера - плохой подход. вы должны обновить старый адаптер. –