草庐IT

savedinstancestate

全部标签

java - 恢复 android 的搜索 View 小部件的状态

我的操作栏中有一个搜索View,我想在方向改变后恢复查询。我怎样才能做到这一点?使用SearchView.setQuery(query,false);从bundle设置查询不起作用,因为searchview在展开后立即将其查询设置为""。这是我的onActivityCreated中的相关代码:if(savedInstanceState!=null&&savedInstanceState.containsKey(BUNDLE_KEY_SEARCH))mCurFilter=savedInstanceState.getString(BUNDLE_KEY_SEARCH);这里是我的onSave

android - savedInstanceState 与 getIntent().getExtras()

我遇到了2种不同的类型来让我的Activity基于一些参数运行。第一个是savedInstanceState,另一个是getIntent.getExtras()Q1)所以我不明白的是,一旦我将bundle传递给我的Activity然后启动它,它就应该有bundle。但是,如果由于某种原因再次重新创建该Activity,它应该再次具有相同的包。(我说得对吗?)Q2)基于Q1是真的事实,以及我不能在Activity已经开始后覆盖bundle这一事实,我想如果出于某种原因在我已经开始的Activity中,我想改变一些bundle的参数,我应该创建一些Activity字段并在我的Activit

android - getIntent() 当方向改变时 - 如何处理?

这感觉像是一个菜鸟问题,但在Android中,当方向改变时,Activity被销毁并重新创建,并且onCreate()被重新调用。内部状态可以通过savedInstanceState包保存。到目前为止一切顺利。但在我的应用程序中,我有一个Activity通常通过startActivityForResult()从另一个Activity调用,它传递了一堆参数。在onCreate()中,目标Activity执行getIntent()以检索传入的数据。问题是当该Activity在屏幕上并且我翻转方向时它崩溃了。它在调用getIntent()的onCreate()代码中崩溃。我认为它正在崩溃,因

java - 安卓错误 : Cannot perform this operation because the connection pool has been closed

我在StackOverflow和网络上搜索了这个问题的答案,但找不到答案。当我在Gingerbread上运行我的应用程序时,它运行良好。但是当我在4.2.2上运行它时,我得到这个错误:java.lang.IllegalStateExceptionCannotperformthisoperationbecausetheconnectionpoolhasbeenclosed我有一个包含两个fragment的SherlockFragmentActivity。fragment1:publicfinalclassTodoFragmentextendsSherlockListFragment{No

Android oncreateview 调用了两次

我不止一次看到这个问题在这里被问到,但我不知道如何解决我的问题。我有一个用户执行此操作的应用:1-打开navigationDrawer并选择一个选项(创建了一个fragment)(我在这里选择第二个选项);publicvoidselectItem(intposition){Fragmentfragment=null;switch(position){caseFRAGMENT_OPTION1:...break;caseFRAGMENT_OPTION2:fragment=ControlPanelFragment.newInstance();break;...caseFRAGMENT_OPT

android - Listpreferences 更改时不调用 onPreferenceChange 方法

我的代码中有一个首选项Activity。我想在用户更改ListPreferences中的单选按钮时toast。我使用了这段代码,但它不起作用。:(publicclassPrefsActivityextendsPreferenceActivityimplementsOnSharedPreferenceChangeListener{@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);addPreferencesFromResource(R.xml.prefs);}p

切换 fragment 后,Android TabLayout 不再显示内容

我在我的项目中使用了一个抽屉导航,里面有5个fragment。在一个fragment中,我在设计支持库中引入了TabLayout,其中包括2个fragment。一切正常,除了当我离开具有TabLayout的fragment并切换回它时,所有内容都消失了。在TabLayout的每个fragment中,我都有一个带有ListView的SwipeRefreshLayout,它们在切换时都不显示任何内容。我还注意到TabLayout开始表现得很奇怪。奇怪的是,我的意思是白色指示器开始跳动,您可以将其保持在两个选项卡的中间...那么我是否遗漏了TabLayout行为如此奇怪的东西?这里的代码:包

android - 保存 RecyclerView 状态的最佳方法是什么?

我在主要Activity中有包含recyclerview的fragmentfragment.java@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){super.onCreate(savedInstanceState);Viewview=inflater.inflate(R.layout.activity_main,container,false);initInstances(view);setRetainInstance(true);r

android - 处理已弃用的 fragment 事件 onAttach 和 onInflate 的正确方法是什么

我已经阅读了一些关于弃用代码的文章和答案(包括thisone),但我对如何处理(特别是)弃用的Fragment事件处理程序感到有点困惑onInflate。我已经替换了我的实现publicvoidonInflate(Activityactivity,AttributeSetattrs,BundlesavedInstanceState)与publicvoidonInflate(Contextcontext,AttributeSetattrs,BundlesavedInstanceState)如果我在如果我恢复原来的弃用代码(这样我现在就实现了两种方法),那么会调用弃用代码,返回正确的功能,

Android - 处理屏幕方向变化的对话框

我正在覆盖onCreateDialog和onPrepareDialog方法或Dialog类。我按照RetoMeier的专业Android应用程序开发书第5章中的示例提取一些XML数据,然后使用对话框显示信息。我基本上完全遵循了它,但更改了变量以适合我自己的XML模式,如下所示:@OverridepublicDialogonCreateDialog(intid){switch(id){case(SETTINGS_DIALOG):LayoutInflaterli=LayoutInflater.from(this);ViewsettingsDetailsView=li.inflate(R.l