【问题标题】:Reset the contents of Card view on back pressed button在后按按钮上重置卡片视图的内容
【发布时间】:2018-07-05 05:17:56
【问题描述】:

我有两个活动。让我们假设它的 Activity A 和 Activity B。我在 A 中有一个 Recycler 视图,其中有多个卡片视图。每个卡片视图中都有一个名为“描述”的编辑文本字段,仅当同一卡片视图中存在的单选按钮字段切换为 true 时才会出现,否则将其隐藏。 Activity B 是一个 History Activity,它也是一个 Recycler View,里面有 Card View。现在发生的事情是,当我通过按返回按钮从活动 B 回到 A 时,应该隐藏的编辑文本字段仍然出现在卡片视图中。我想隐藏它并将卡片视图重置为正常状态。谁能帮我解决这个问题?

注意:我没有在任何地方使用过 onBackPressed()。它默认返回功能。

【问题讨论】:

  • 使用onBackPresses(),这个方法总是在activity按下后退按钮时调用。因此,在这种方法中,从卡片视图中读取您的内容
  • 没关系。但我的问题并没有得到解决。当我们在另一个 Activity 上按下返回按钮后返回该 Activity 时,我希望卡片视图中的一个 Edit Text 字段变得不可见。
  • 写一些代码,我们可以给你解决方案。
  • 你可以有一个接口,它会向你以前的活动抛出回调,这将进一步刷新你的卡片回收视图,这应该在 super.onBackpressed() 之前完成。

标签: android user-interface android-recyclerview android-cardview


【解决方案1】:

您可以通过以下方式将每个项目的状态保存在适配器中:

 static SparseBooleanArray itemState = new SparseBooleanArray();

当它发生变化时,在 ViewHolder 中:

                itemState.put(currentPosition, true);

然后在 onBindViewHolder 中检查 RadioBotton 的状态并更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多