我正在为学校制作Android应用。
第一个活动是学生,其中包含一个由3个碎片组成的ViewPager。加载此活动的成本很高,因为它包含3个碎片。
第1片段包含游戏列表视图
2nd Fragment包含一个漫画列表视图
第3个片段包含TestView的ListView(ListView仅包含测试标题)。
现在在测试片段onClick on of test(在listview中显示),一个新的 ShowTest 活动打开,显示完整的测试。
每件事情都很好。
这是TestFragment中用于启动ShowTest Activity
的代码test.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent it = new Intent(getActivity(), ShowTest.class);
startActivity(it);
}
});
在ShowTest Activity中,我只是调用finish();
public void onBackPressed() {
this.finish();
}
但是在 ShowTest 中,当onBackpressed()被调用学生时,活动会重新创建(片段中的所有内容都会重新加载)。我不希望第二次创建此活动。因为加载费用很高。
这两个链接对我没有帮助
Open Info Activity without closing Main Activity
Android - Relaunching an activity without having to re-create it
我们将非常感谢您的帮助。
谢谢(编辑)
答案 0 :(得分:0)
您可能在其他活动开始时调用finish()
。不要调用它并在没有完成()的情况下启动活动。
答案 1 :(得分:0)
抱歉,我的错误
在Android Manifest中
<activity
android:name="plan9.naseemdev.muhammadtaimoor.naseem.Student"
android:configChanges="orientation|screenSize"
android:noHistory="true" />
由于&#39; 机器人:noHistory =&#34;真&#34; &#39; 学生活动每次都在重新创造。 删除此行后,它对我有效。
答案 2 :(得分:-2)
分享您的代码,以便我可以进一步提供帮助。 另外请检查您是否正确初始化了寻呼机适配器。