当前位置: 首页 > 知识库问答 >
问题:

如何在android中保存复选框状态

甄德寿
2023-03-14

我正在开发一个android烹饪应用程序(使用java),主页有一个回收器视图,其中填充了用户可以喜欢的食谱(类似于FaceBook帖子)。喜欢按钮是一个复选框,保存每个食谱的喜欢复选框状态的最佳方式是什么,所以当用户退出应用程序并再次登录时,他们不会多次喜欢同一个食谱。

在这种情况下,使用SharedReference是一个好主意吗?

**im使用MySql作为数据库,不使用firebase。

共有1个答案

焦宁
2023-03-14

您当然可以使用SharedPreferences来实现这一点,但我认为这是为应用程序的“首选项”而不是“应用程序”行为状态而设计的,更为理想。

您可能想看看:https://developer.android.com/topic/libraries/architecture/saving-states?authuser=1

在这里,您将看到一些如何序列化UI状态并将其持久化到内存的选项。实际上,我以前没有使用过类似的东西——过去只使用SharedReferences。

当然,您也可以创建自己的存储方法或解决方案,但既然已经有了存储方法或解决方案,为什么还要麻烦呢。

由于您已经在使用MySQL数据库,您的应用程序已经从DB中获取行来显示它们,所以为什么不添加另一个名为“checked”的列,这是一个布尔类型。然后,当您获得配方时,您会得到“checked”变量,如果为true,则将复选框的UI状态设置为checked,否则为false:)

这种方法的好处是,如果您的应用程序变得“混合”并且您也想要一个网站——数据库上的数据变得集中,这意味着您在移动设备上的持久用户状态与Web体验相同,这是一个很好的好处!

 类似资料:
  • 问题内容: 我有一个带有简单复选框的应用程序,当用户按下该复选框时,会在build.prop中添加一行,这是可行的,但是当我退出该应用程序时,该复选框已重置,有没有一种方法可以通过在其中添加示例代码来防止这种情况您的帖子,因为我仍然是Android应用程序的新手。 MainActivity.java activity_main.xml 问题答案: 使用getRuntime()。exec()在哪里得

  • 我有一个学生列表视图,每个行项目上都有一个开关和复选框以供学生出勤。我想保留滚动期间的开关框和复选框更改。我尝试了这种方法,但没有成功: 出勤率创建新.cs具有以下代码部分 谢谢。

  • 问题内容: 我有一个列表视图,大约有200个项目,我为复选框实现了一个自定义ArrayAdapter。我使用SparseBooleanArray来存储盒子的值。 所有这些工作正常,但我似乎无法以图形方式更新复选框的检查。如果用户单击,则选中该框。但是,如果我在代码中调用setChecked,则它对框本身没有影响(因此,即使其值为true,也不会对其进行打勾)。 我通过尝试将所有框都设置为true并

  • 我有一个ViewPager有3个碎片绑定在FragmentPagerAdapter在一个FragmentActivity中,当我切换到不同的应用程序,回到我的应用程序后,或者在一个输入调用后,碎片没有恢复到以前的状态,一个碎片完全消失了,一些碎片按钮点击不工作..但在模拟器中它的工作很好 帮帮我吧...

  • 我有一个简单的搜索列表视图与复选框,但它不能记住我的选择,当它得到过滤。 主要活动。xml 主要活动。JAVA 正如你在下面的图片中看到的,它不记得搜索后错误选择的“Petr”和“Ivan”。。。

  • 如果我打开活动,复选框始终保持选中状态,即使我取消选中它并离开活动或关闭应用程序,在重新启动活动后,它也将保持选中状态。 我已尝试使用以下代码段保存活动的状态。 复选框应始终处于用户离开它的状态(选中或未选中)。