草庐IT

onsaveinstancestate

全部标签

android - 获取当前 fragment 并保存在屏幕方向的 onSaveInstanceState() 方法上

我有一个包含多个fragment的Activity。我还在我的选项卡上使用actionbarSherlock,它也连接到fragment。我的问题是当我要旋转屏幕时(即纵向到横向/反之亦然),我的Activity将再次被调用,因此它会重新启动我的Activity。我不想重新启动我的Activity,而只是恢复在旋转之前显示的当前fragment。请不要回答android:configChanges="orientation|keyboardHidden"因为它没有解决问题,只是简单地破解了它。我的解决方案是OnsaveInstanceState和onRestoreInstanceSta

android - fragment .newInstance() vc onSaveInstanceState()

为什么建议(不同的来源)不要为Fragment重载构造函数,而是使用静态Fragment.newInstance()并传递一个Bundle到它?当你重载一个构造函数时,你只是显式定义了默认构造函数。然后,如果您的Fragment由于某种原因将被重新创建,您可以使用onSaveInstanceState()并在onCreate()上提取后续数据。与使用Fragment.newInstance()的情况类似,唯一的区别是您不需要创建公共(public)默认构造函数。我理解错了吗?非常感谢。 最佳答案 Whyisitrecommended

android - onSaveInstanceState() 和 onRestoreInstanceState(Parcelable state) 没有被调用?

我有一个扩展LinearLayout的自定义View。我已经实现了onSaveInstanceState()和onRestoreInstanceState()来保存当前View状态。但是没有采取任何行动。当我在这两种方法中放置一个日志时,LogCat中也没有任何内容。我假设这两种方法甚至都没有被调用。任何人都可以解释问题出在哪里吗?谢谢。@OverridepublicParcelableonSaveInstanceState(){Bundlebundle=newBundle();bundle.putParcelable("instanceState",super.onSaveInsta

Android:onSaveInstanceState 后无法执行此操作

我显然仍然不清楚如何处理fragment以及我的Activity中发生的其他事情。以下是堆栈跟踪:java.lang.RuntimeException:FailuredeliveringresultResultInfo{who=null,request=2,result=-1,data=Intent{(hasextras)}}toactivity{com.ghcssoftware.gedstar/com.ghcssoftware.gedstar.GedStar}:java.lang.IllegalStateException:Cannotperformthisactionafteron

android - 如何在 onResume() 中检索 onSaveInstanceState() 包?

我遇到了与保存Activity状态相关的问题。我在SO中搜索并阅读了很多问题,但找不到我的问题的答案。我有一个包含2个Fragments的ActivityA。ActivityA保存由Fragments显示的数据。当我为我的设置Activity启动新的Intent时,ActivityA暂停(未销毁),onPause()和onSaveInstanceState()方法被调用,所以我将所有数据保存在onSaveInstaceState()中。当我使用后退按钮从我的设置返回时ActivityA再次显示,但是onCreate()方法没有被调用,因为Activity没有被销毁,而是调用了onRes

Android ListFragment 不在 onSaveInstanceState() 中保存包/不在 onActivityCreated() 中检索包

我是android的新手,我面临以下问题。我正在为Android2和3开发,这就是我使用fragment的原因。但是,为了使该应用程序在Android2设备上运行,我导入了android.support.v4.app.ListFragment。当屏幕方向发生变化时,我需要在我的ListFragment中保持选择。我正在覆盖onSaveInstanceState()方法并将一个int放入包中。当屏幕旋转时,调用此方法并将int添加到包中。但是,当onActivityCreated()被调用时,它的bundle为空。我正在按照Android网站上提供的示例进行操作:http://devel

未调用 Android View onSaveInstanceState

我正在使用CustomView,它扩展了一些AndroidView,例如FrameLayout。在我的布局中,我使用带有自定义PagerAdapter的ViewPager。问题是当fragment重新附加到ViewPager/Activity时,我的View没有恢复它的状态。例如,我有三个fragment,如果我滑动到最后一个fragment并返回到第一个fragment,则ScrollView不在我让它的位置:它回到默认值,在顶部。我知道使用PagerAdapter时,并非所有fragment都同时处于Activity状态,基本上只是+1/-1。我找不到为什么我的View.onSav

android - 来自 Fragment 的 DialogFrag#show() 抛出 "IllegalStateException: Can not perform this action after onSaveInstanceState"

明确地说,我已经阅读了关于“IllegalStateException:在onSaveInstanceState之后无法执行此操作”的十几个最重要的SO问题,并且我已经阅读了AlexLockwood关于该问题的博客文章http://www.androiddesignpatterns.com/2013/08/fragment-transaction-commit-state-loss.html所以我不是盲目地问这个问题。我有一个非常简单的用例,不涉及AsyncTask或任何后台处理。我有一个包含按钮的fragment。在按钮的onClickListener上,我创建了一个DialogFr

android - onSaveInstanceState 没有保存我的值(onCreate input Bundle 始终为 null)

保存包(ActivityA):@OverrideprotectedvoidonSaveInstanceState(BundleoutState){outState.putString("test","value");super.onSaveInstanceState(outState);}导航到ActivityB;startActivity(newIntent(getBaseContext(),B.class));回到ActivityA:startActivity(newIntent(getBaseContext(),A.class));尝试加载我写入的值以bundle到Activit

Android fatal error - onSaveInstanceState 后无法执行此操作

我在Android中请求权限后尝试执行fragment事务-但应用程序不断崩溃。为了避免这种情况,如何更改此代码?如有任何帮助,我们将不胜感激。发送电子邮件前检查权限:privatevoidemailShare(){if(mayRequestContacts()){emailShareImpl();}}检查权限:privatebooleanmayRequestContacts(){if(Build.VERSION.SDK_INT权限检查结果:@OverridepublicvoidonRequestPermissionsResult(intrequestCode,String[]perm