我有简单的Android应用程序,有两个活动:
第一个主要活动包含带标签导航的ViewPager(3个标签,每个标签一个片段)。其中一个片段是ListFragment,它是一本联系簿(图像和文本)。
第二项活动代表联系方式。
当用户点击listview联系人行时,第二个活动将以联系人详细信息开始。从这个活动返回按钮工作正常,点击后立即恢复主要活动。但我的主页按钮(操作栏中的向上按钮)有问题。当它被点击时,主活动不会被恢复,而是再次创建,它会耗费大量时间(甚至800毫秒)。
使用主页按钮片段显示卡片活动配置:
<activity
android:name="com.sampleapp.activity.CardActivity"
android:label="@string/title_activity_card"
android:parentActivityName="com.sampleapp.activity.MainActivity">
<!-- Parent activity meta-data to support API level 7+ -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.sampleapp.activity.MainActivity" />
</activity>
当主页按钮出现时,有没有办法从堆栈中恢复主要活动(如果有)?
答案 0 :(得分:0)
试试这可以帮助您获得前面的活动
Intent i = new Intent(this,YourActivityName.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
答案 1 :(得分:0)
FLAG_ACTIVITY_CLEAR_TASK
标志可能会比接受的答案标志更好:
Intent i = new Intent(this,YourActivityName.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
来自文档:
如果在传递给Context.startActivity()的Intent中设置,则此标志将为 导致任何与活动相关联的现有任务 在活动开始前清除。