ahs*_*ele 2 android listview onresume onpause android-activity
我有一个ListView,onResume我试图填充SQL Lite数据库中的数据.在恢复期间,我添加了一个单击侦听器并重新填充列表视图.onResume,populateListView()和onPause方法如下所示.完整的源代码可以在GitHub上找到.
的onResume:
@Override
protected void onResume() {
IntentFilter filter = new IntentFilter();
filter.addAction(TalkServerIntent.INTENT_NEW_MESSAGES.toString());
registerReceiver(receiver, filter);
setContentView(R.layout.main);
talkListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parentView, View childView,
int position, long id) {
GeoCamTalkMessage msg = adapter.getTalkMessage(position);
if (msg.hasAudio()) {
try {
UIUtils.playAudio(getApplicationContext(), msg, player,
siteAuth);
} catch (Exception e) {
UIUtils.displayException(getApplicationContext(), e,
"Cannot retrieve audio");
}
}
}
});
populateListView();
super.onResume();
}
Run Code Online (Sandbox Code Playgroud)
populateListView:
private void populateListView() {
try {
talkMessages = messageStore.getAllMessages();
} catch (Exception e) {
Log.i("Talk", "Error:" + e.getMessage());
}
if (talkMessages != null) {
adapter.setTalkMessages(talkMessages);
talkListView.setAdapter(adapter);
}
}
Run Code Online (Sandbox Code Playgroud)
我没有对onPause做任何特别的事,但由于值存储在数据库中,所以我认为不必.
在onPause
@Override
protected void onPause() {
unregisterReceiver(receiver);
super.onPause();
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么导致ListView不能刷新onResume?
归档时间: |
|
查看次数: |
3526 次 |
最近记录: |