0
在我的Android应用程序中,我使用ListView访问显示其他信息和功能的特定View。 一切正常,但当我启动Phonecall函数或打开Weblink(这2个函数在特定视图中可用),然后通过按两次后退按钮回到应用程序时,ListView为空!Android ListView在启动外部应用程序时清除
当我使用Google Maps等内部函数或特定视图中的任何其他内部函数时,不会发生这种情况。
我想在适配器或光标有一些问题。 我只看到adapter.notifyDataSetChanged()
,但我没有更改任何数据。我只想让它再次显示。
这里是订单 - > ListView - >选择一个单一的视图 - >例如启动一个PhoneCall - >通过后退按钮返回单一视图 - >通过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()
不工作
啊好吧,阿迪尔谢谢你的邮件,我稍后会试一试 – user1001303
这不会帮助我,因为我没有暂停ListView。 我从特定视图启动外部应用程序,而不是从ListView中删除。 特定视图中的所有数据都正确加载,但当我通过它返回到ListView时是空的。 这里是订单 - > ListView - >选择一个单一的视图 - >例如启动一个PhoneCall - >通过后退返回到单一视图 - >通过Backbutton获取ListView并且它是空的! – user1001303
如果您开始活动(例如您的电话呼叫),则活动设置为背景,并且您的拨号活动位于前面。在这种情况下,您的Activity的onPause()方法将被调用,并且只要关闭拨号程序,就会调用onResume(),并且您的Activity会重新出现在屏幕上。 – Thommy