我的Android应用程序有问题,我正在使用Android StudioIDE进行开发。差不多是当我把应用程序放在后台几分钟,或者被系统杀死,或者我混合了片段的不同布局时。我在下面放了一张图片:
如果你有其他人也写的话,我已经尝试了各种方法。提前谢谢你。
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tl = new ActionBar.TabListener() {
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
pager.setCurrentItem(tab.getPosition());
actionBar.setSelectedNavigationItem(tab.getPosition());
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
};
String label1 = getResources().getString(R.string.label1);
ActionBar.Tab tab;
tab = actionBar.newTab();
tab.setText(label1);
tab.setIcon(R.drawable.download);
//tab.setIcon(R.drawable.data);
tab.setTabListener(tl);
actionBar.addTab(tab);
String label2 = getResources().getString(R.string.label2);
tab = actionBar.newTab();
tab.setText(label2);
tab.setIcon(R.drawable.search);
tab.setTabListener(tl);
actionBar.addTab(tab);
String label3 = getResources().getString(R.string.label3);
tab = actionBar.newTab();
tab.setText(label3);
tab.setIcon(R.drawable.television);
tab.setTabListener(tl);
actionBar.addTab(tab);
所以问题是在onCreate中添加了片段A。导航到片段B后,活动进入后台。在某些情况下,正如你所知,android可以杀死你的后台活动,并迫使它在前台重新创建自己。因此,您的活动使用片段B重新创建自己,这是它进入后台时的最后一个状态,并且添加了片段A,因为调用了onCreate。您可以通过在onCreate中执行savedinstancestate检查来解决这个问题。
我有两个活动,分别是家庭活动和沙拉菜单活动。主页活动包含七个片段,其中一个名为菜单类别的片段有四个图像,第一个图像下面的文本是沙拉菜单,当用户单击沙拉菜单时,将启动名为沙拉菜单活动的新活动。 我想,当用户点击后退按钮时,home活动必须开始,并且应该从启动salad菜单活动的相同片段开始,即home活动中的菜单类别片段。我希望每个活动都会发生这种情况,例如,如果用户从您的订单片段开始一个新的活动,
我有一个包含3个活动的应用程序。 我有主要活动。这将调用第二个活动,然后调用第三个活动。我想在不进入 onCreate 的情况下返回到主要活动。 这是第三个活动的代码:
为了在重新创建活动后(例如在屏幕方向更改后)恢复活动的状态,我在SaveInstanceState()和onRestoreInstanceState()上实现了。保存/恢复int、double等简单信息很简单,但保存/恢复Timer等对象又如何呢?
这是我的日志
问题内容: 我在应用程序的状态栏中有一条通知: 这样做的问题是,当您从应用程序中按下主页按钮(将其推到后台)然后在从状态栏访问的列表中的通知上按下时,它将启动活动的新副本。我要做的就是恢复应用程序(例如,长按主屏幕按钮并按应用程序图标上的)。有没有一种创建意图的方法? 问题答案: 我已通过将我的活动更改为androidManifest.xml文件来解决了此问题。 此属性的默认值为,它允许运行任意数
我有一个端口上带有UDP套接字的活动。如果我按下Home按钮,活动进入后台,将调用OnPause()和OnStop()方法。现在,当我收到一些UDP数据包时,我想恢复我的活动。阅读其他帖子,我明白我必须: 将活动声明为(或) 然后,当我想恢复活动时: 这个解决方案对我不起作用。调用不会在前台显示我的活动,也不会调用。 以下标志可以完成任务,但我不想清除任务并重新启动新任务。