首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >激活或取消激活回收项目

激活或取消激活回收项目
EN

Stack Overflow用户
提问于 2017-11-26 04:31:02
回答 2查看 1.3K关注 0票数 0

我有一个碎片,其中包含一个回收视图和一个浮动动作按钮。在回收视图中,每行包含默认设置为禁用的单选按钮。我的要求是,在浮动操作按钮单击事件时,我需要在每一行启用这些单选按钮。有什么解决办法吗?

提前谢谢..。

好的..。我有个解决办法。

这是我的密码。

代码语言:javascript
复制
fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    for (int i = 0; i <= adapter.getItemCount(); i++) {

                        View childVIew = recyclerView.getChildAt(i);

                        if (childVIew != null) {
                            RadioButton radioYes = childVIew.findViewById(R.id.radio_yes_my_health_info);
                            radioYes.setEnabled(true);

                            RadioButton radioNo = childVIew.findViewById(R.id.radio_no_my_health_info);
                            radioNo.setEnabled(true);
                        }
                    }

                    fab.setImageResource(R.drawable.ic_save_white_24dp);
                    recyclerView.getRecycledViewPool().setMaxRecycledViews(0, 0);
                }
            });

现在,在FAB按钮点击,所有的单选按钮在我的回收视图将启用,我可以点击改变状态的每一个单选按钮。但在这里我有个问题。当我单击FAB按钮时,回收视图中的所有单选按钮都将被激活,但当我滚动回收视图时,所有这些单选按钮都将被禁用或重新禁用。请给我一个解决办法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-15 08:51:48

您可以在适配器中设置一个标志,如

代码语言:javascript
复制
boolean isActivated = false;

public void setActivated(boolean activated) {
    isActivated = activated;
}

在onBindViewHolder()方法中,您可以检查标志并相应地设置标志的状态。

在FAB的OnClickListener中,呼叫

代码语言:javascript
复制
adapter.setActivated(true);//true or false as per your requirement
adapter.notifyDataSetChanged();

这应该能行。

票数 0
EN

Stack Overflow用户

发布于 2017-11-26 22:11:17

单击按钮时,可以尝试遍历每个视图,如下所示:

代码语言:javascript
复制
for (int i = 0; i < adapter.getItemCount(); i++) {
    View view = recycler.getLayoutManager().findViewByPosition(i);
    view.setSelected(true); //Select item
    notifyItemChanged(i); //Notify item changed
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47493061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档