在我的Android应用程序中,我使用ListView来访问显示其他信息和功能的特定视图。 一切都运行良好,但是当我启动Phonecall功能或打开Weblink(这两个功能在特定视图中可用)然后通过按两次后退按钮返回应用程序时,ListView为空!
当我使用Google地图等内部功能或特定视图中的任何其他内部功能时,不会发生这种情况。
我猜适配器或光标存在一些问题。
我只见过adapter.notifyDataSetChanged()
,但我没有更改任何数据。我只是希望它再次出现。
这是订单 - > ListView - >选择单个视图 - >例如,启动PhoneCall - >通过Backbutton返回单一视图 - >通过Backbutton返回获取ListView,它是空的!
// public replacing function for ordering the views
public void replaceView(View v) {
history.add(v);
setContentView(v);
}
// function that is called when the back button is pressed, controlling the views stack
public void back() {
if (history.size() > 0) {
history.remove(history.size() - 1);
if (history.size() > 0) {
setContentView(history.get(history.size() - 1));
} else {
finish();
}
} else {
finish();
}
}
// remove site from stack and go the last view (Overriding Back Button)
@Override
public void onBackPressed() {
FrontPage.group.back();
}
这是后退按钮的定义方式。 onPause()
和onResume()
无效
答案 0 :(得分:0)
您必须将ListView
保存在onPause
并在onResume
重建。{1}}。
必须在Activity
类中重写这两种方法。