我有5种不同的活动。
第一个活动是我的应用程序的第一页。它顶部有一个导航栏,允许我在所有5个活动之间移动。 (导航栏出现在所有活动的xml布局中)
我面临的问题是每当我回到另一个活动(例如活动1到活动2)之后(活动2到活动1),我的活动1将不会渲染MapView。当应用程序没有切换活动时,MapView可以正常工作。
我目前正在使用此代码在活动之间移动:
活动1中的代码
startActivity(new Intent(Activity1.this, Activity2.class));
活动2中的代码
startActivity(new Intent(Activity2.this, Activity1.class));
目前我设法回到活动1的唯一方法是按下手机的后退按钮。但是我将面临另一个问题。
如果我在两个以上的活动之间移动(例如活动1到活动2和活动3),后退按钮将从活动3转到活动2,最后转到活动1。(我发现了一些stackoverflow上的示例来克服这个问题)
由于我没有正确配置,导致MapView的主要问题无法呈现?
或者它是由我在活动之间切换的方式引起的?
答案 0 :(得分:1)
对于您的第一个问题,我建议您调查Intent.setFlags(Intent.FLAG_ACTIVITY_???)
例如,在您的示例中,您可以这样做:
活动1中的代码
// No change here
startActivity(new Intent(Activity1.this, Activity2.class));
活动2中的代码
Intent i = new Intent(Activity2.this, Activity1.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
这将停止构建一堆活动并需要大量后退按钮才能退出应用程序。使用您的5个活动,您的主Activity1应使用默认值来启动Activity2,3,4和5,所有其他活动应使用FLAG_ACTIVITY_REORDER_TO_FRONT
在它们之间切换回Activity1。
对于您的第二个问题,我们需要更多信息 - 我可以建议您实际从此处删除问题并将其作为单独的查询重新发布,以及相关代码和LogCat输出。它很可能与开始活动没有直接关系。