问题标签 [savestate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3366 浏览

java - 如何在 Android 中写入和读取文本文件?

我正在开发一个字典应用程序。应用程序上有一个收藏按钮,允许用户:

  • 短按将当前查看的单词添加到收藏夹列表中;
  • 长按查看收藏列表(添加的单词)。

到目前为止,我的编码如下:

更新代码:

但是,收藏按钮不适用于上述代码行。

文件myFavourite.txt确实存在(在 Eclipse 中的 data/data/my_project/files 中),但它只包含一个最近添加的单词。此外,当长按收藏按钮时,应用程序会被强制关闭。

我做错了什么?如果你们能帮我解决这个问题,我将不胜感激。非常感谢。

========

编辑

非常感谢您的帮助。我更新了我的代码以反映您的评论和提示。到现在为止,已经有了一些改进: 最喜欢的单词已被写入文件myFavourite.txt,如word2 word2 word3 ...(尽管我希望它们出现在新行中)。

但是,当长按收藏按钮时,收藏列表仍未加载。

事实上,我的目的是让在应用程序中加载收藏夹列表并允许用户选择要再次查找的单词成为可能。

非常感谢您的帮助。

0 投票
0 回答
605 浏览

java - t:saveState 使用 RequestScope 保存托管 Bean 的状态 - 分页系统的状态

我正在尝试使用 tomahawk-saveState,但它根本不起作用。我将以下代码插入到我的 xhtml 文件(JSF2.0)中:

使用像这样的托管 bean:

我打算将此与分页系统一起使用,因此它可以在该页面上导航期间保持页码的状态。现在,当我打开页面时,分页系统为空并自行创建(好),但随后我刷新页面(F5)或单击下一页,分页系统再次为空,bean 再次创建它。所以,你可以看到分页不起作用,因为它不能保持状态,那么我做错了什么?

任何帮助,将不胜感激。谢谢。

0 投票
2 回答
468 浏览

java - Activity 状态保存和恢复 Helper

我想写一些帮助程序来保存和恢复 Bundle 中的活动状态

重写方法onCreate(Bundle savedState)仍然onSaveInstanceState(Bundle outState)是必要的,但是简单的表单保存/恢复有点无聊

像这样的东西:

并像这样使用:

在我花一整天时间创建它之前,我的问题是,是否有任何类似的帮助类或本地方式来执行这个简单的保存/恢复操作?

0 投票
2 回答
5078 浏览

android - 拍照后如何从 ImageView 中保存图像

我正在从画廊中挑选照片或用相机拍摄。如果我将图片放入我的 imageView,然后单击确认按钮,我该如何保存该图片?我必须使用 saveState() 吗?请发表一些评论。谢谢。

0 投票
3 回答
620 浏览

android - android:在更改方向时保存错误状态

我制作了一个带有动态字段验证的登录表单。我有 3 个字段用户名、电子邮件和密码,所有这些字段都是必需的。当字段长度= 0时,我设置错误

这段代码工作正常,但是当我改变方向时,所有错误都消失了如何保存错误状态?

谢谢。

0 投票
1 回答
2808 浏览

android - 在方向改变时保存活动状态(不仅仅是一些变量)

我意识到在 SO 上已经提出了很多关于这个主题的问题。但是我什至不知道保存活动状态的基本知识。


(请参阅下面的屏幕截图)当应用程序启动时,

1) ScrollView 项目 1,2,3,4 可见

2) 表格包含由于获得者按钮而填充的数据。


如下图所示,当应用程序在 PORTRAIT 模式下运行时,我

1)向下滚动到 ScrollView 项目 4,5,6

2)按下失败者按钮,因此按钮下方表格中的数据会相应更改。

3)我什至会动态更改图形的内容(我还没有这样做)。


现在我切换到风景模式所以

1)ScrollView 显示 ScrollView 项目 1,2,3,4

2) 表格显示了由于按下 Gainer 按钮而填充的数据。

3)图表是因为我还没有改变它(我稍后会改变)。


所以当我改变方向时会发生什么,我的活动会重新启动。因此,如果用户在一个方向上执行某些任务并且他改变了方向,那么整个进度将丢失。

我知道我需要保存活动的状态并在方向改变时恢复它。但我不知道从哪里开始以及保存什么。

任何帮助都会挽救生命!

截图

0 投票
2 回答
1621 浏览

android - 如何在可扩展列表视图中保存复选框的状态 - Android

我在 Expandable ListView 中显示来自 SQLite 数据库的条目,一切正常,但是,我想在所有子项旁边添加一个复选框。每次我选中一个复选框然后向下滚动或收缩我选中的复选框时,它都不会保存复选框的状态。我知道每当我向下滚动并展开组等时,该列表都会被回收。如何保存每个复选框的状态(每个孩子)?我有一个扩展 CursorTreeAdapter 的类,并且方法中没有“childPosition”。为了保存状态,我需要做什么?

0 投票
2 回答
384 浏览

android - 如果更改太快,则在方向更改 FC 的应用程序上保存字符串

我无法在方向更改时保存字符串。我试过使用onSaveInstanceState()/onRestoreInstanceState()onRetainNonConfigurationInstance()/getLastNonConfigurationInstance()没有运气。

我有:

onCreate()我有:

这对我还没有用,而且currentType总是null在方向改变之后。有什么建议么?


修订


所以这就是我目前拥有的,但它仍然无法正常工作:

我已经尝试在super我能想到的每种组合中将方法调用放在每个方法的开头和结尾,但是当再次创建视图时仍然得到一个NullPointerExceptionfor 。currentType



这发生在一个对话框中,我不确定这是否与它有关,但认为这可能是一个有用的信息。



部分解决方案/部分新问题



所以我让这个工作有点像我想要的。当不再需要变量时,方法中隐藏了一条语句,该语句设置currentType为生命周期结束时。null现在已经不成问题了。屏幕将成功改变方向,但如果它在两者之间连续改变太快,它会 FC。这是我用来让它在这种状态下工作的:

类字段:

最后onCreate我有:

进而:

如果方向没有改变然后很快又变回来,它就可以正常工作。不过我想解决这个问题,因为百货商店和零售店正在使用/将使用它,我可以看到人们丢弃它,这将导致 FC(把它放在我的沙发上进行测试)。我只存储一个字符串,所以我存储的内容不会占用太多内存。对这种新情况有什么建议吗?

0 投票
0 回答
994 浏览

java - 如何使用 onSaveInstanceState() 和 onRestoreInstanceState() 保存和恢复多维数组?

如何使用 onSaveInstanceState() 和 onRestoreInstanceState() 保存和恢复多维数组?

我正在使用 ExpandableListView。我有以下团体和孩子。

我得到了以下 java.lang.ClassCastException 异常。

01-19 17:12:55.417:E/AndroidRuntime(708):原因:java.lang.RuntimeException:无法启动活动 ComponentInfo{com.abc.myapp/com.abc.myapp.mylistActivity}:java.lang。 ClassCastException:[Ljava.lang.Object;

01-19 17:12:55.417: E/AndroidRuntime(708): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)

01-19 17:12:55.417: E/AndroidRuntime(708): 在 android.app.ActivityThread.startActivityNow(ActivityThread.java:2503)

01-19 17:12:55.417: E/AndroidRuntime(708): 在 android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)

01-19 17:12:55.417: E/AndroidRuntime(708): 在 android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)

01-19 17:12:55.417: E/AndroidRuntime(708): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

01-19 17:12:55.417: E/AndroidRuntime(708): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)

01-19 17:12:55.417: E/AndroidRuntime(708): ... 11 更多 01-19 17:12:55.417: E/AndroidRuntime(708): 由: java.lang.ClassCastException: [Ljava.lang 。目的; 01-19 17:12:55.417: E/AndroidRuntime(708): 在 com.abc.myapp.mylistActivity.onRestoreInstanceState(JobInfo.java:303)

01-19 17:12:55.417: E/AndroidRuntime(708): 在 android.app.Activity.performRestoreInstanceState(Activity.java:815)

01-19 17:12:55.417: E/AndroidRuntime(708): 在 android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)

01-19 17:12:55.417: E/AndroidRuntime(708): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2641)

01-19 17:12:55.417: E/AndroidRuntime(708): ... 19 更多

有没有办法存储和检索多维数组?

0 投票
1 回答
296 浏览

android - 如何在 Dalvik VM 崩溃时保留 Activity 状态?

我正在 Nexus One 上为 Froyo 开发。我有一个问题,即 dalvik vm 崩溃(在 logcat AndroidRuntime 中特别提到它正在关闭 VM)并关闭正在运行的活动和服务。我的应用程序是一个单一的活动。onSaveInstanceState 在 VM 关闭时执行,并在其中将一些数据(一个 int 和两个字符串)保存到 savedInstanceState Bundle。当我再次启动 Activity 时,传递给 onCreate() 的 savedInstanceState Bundle 为 null 并且根本不调用 onRestoreInstanceState。当 Activity 被销毁以回收内存时,这工作得非常好——只是在 VM 崩溃时不会。如何在这种性质的崩溃中保留信息?

谢谢,

杰斯