首页 > 解决方案 > 保持 TextView 颜色的状态

问题描述

我在LinearLayout上渲染一些TextViews。这些TextView保存用户可以选择的时间。如果用户选择它,则TextView 的颜色设置为绿色。如果用户再次选择TextView(时间),则它会恢复为灰色。

所以行为应该是:如果未选择TextView,则保持灰色。如果选择了TextView,则变为绿色。这些TextViews应该只在用户按下时改变颜色。

每当我在LinerLayout上滚动时,我都设法保留了TextView颜色的状态。但是,如果我按下并离开活动,TextViews将全部重置为灰色。

是否可以保存LinearLayout的实例,以及Firestore的元素?如果您有任何建议,请告诉我。

标签: androidfirebasekotlingoogle-cloud-firestoredata-persistence

解决方案


是否可以使用 Firestore 保存 LinearLayout 的实例及其元素?

不,这是不可能的。LinearLayout 不是受支持的数据类型。相反,您可以做的是将按钮的状态存储在 Firestore 中,并使用 EventListener使其始终与服务器保持同步。因此,每次选择 TextView 时,都会更新服务器上的状态。如果您离开活动并再次打开它,请从服务器读取最后更新的值。


推荐阅读