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

单选按钮以片段形式传递数据

钱宇
2023-03-14

我有一些RadioButton在片段A,,和一些RadioButton在片段B我希望当这些isChecked(FragmentA)之一,在FragmentB禁用所有单选按钮.相同的活动主机这些片段。

片段A中的事件单击单选按钮:

   RadioGroup radioGroup = view.findViewById(R.id.readingGroup);
    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
            switch (i) {
                case R.id.btnNormalD:
                    //code
                    break;
                case R.id.btnAbsence:
                    //code
                    break;
                case R.id.btnWithAnObstacle:
                    //code
                    break;
                case R.id.btnHaunted:
                    //code
                    break;
                case R.id.btnDestroyed:
                    //code
                    break;
                case R.id.btnNoSubscribersFound:
                    //code
                    break;
                case R.id.btnGround:
                    //code
                    break;
                case R.id.btnInterrupted:
                    //code
                    break;

            }
        }
    });

共有1个答案

冀子石
2023-03-14

如果您的片段共享同一个容器,除了ViewPager,那么您可以使用Bundle在片段之间传递数据。每当您进行交易时,将单选按钮的状态设置为捆绑并验证到下一个片段中。

 Fragment fragment=new FragmentA();
    Bundle bundle=new Bundle();
    bundle.putBoolean("show",false);// Pass the data here
    fragment.setArguments(bundle);
    getSupportFragmentManager().beginTransaction()
            .add(fragment,R.id.frame).commit();

你们可以在下一个片段中看到。

 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view=inflater.inflate(R.layout.fragment_2,null);
    if(getArguments()!=null){
        boolean show=getArguments().getBoolean("show",true);
        if(show){
            // Do action here 
        }else{
            // Do action here
        }
    }
    return view;
}

如果您使用的是“ViewPager”,那么您只需从适配器获取片段,并调用该片段的任何公共方法来设置状态。

 类似资料:
  • 我想将数据从父片段传递到选项卡式片段(子片段),以便传递初始数据(当父片段第一次加载时),我使用了Bundle数据。当在子片段的嵌套片段中时,我调用PopbackStack(),以便通过单击按钮返回。在那里,我需要更新之前传递到子选项卡片段的捆绑数据。捆绑数据不会得到更新的数据集 父片段-初始状态 子片段-Tab片段 孩子- 我错过了什么?请帮忙

  • 问题内容: 我看起来像这样 我需要选择按钮。但是由于它们都具有相同的名字,我不能通过书写来做到。如果我使用不同的名称,则用户可以进行多个选择。 是否没有办法通过其ID获取按钮的状态?如果没有,处理此表格的最简单方法是什么? 问题答案: 你应该将属性添加到每个字段中: 在烧瓶路径中,你可以阅读所选的选项: 然后你将获得所选单选按钮的。

  • 我正在尝试将活动转换为片段。< code>runOnUiThread上的错误标记。关于过去: GoogleActivityV2从活动扩展而来。在类ExecuteTask中运行Nuithread。类ExecuteTask嵌套在活动上。 (运行正常)现在: GoogleActivityV2从片段扩展而来。在类ExecuteTask中运行Nuithread。类ExecuteTask嵌套在活动上。(run

  • 问题内容: 可以在一个表单中有多个单选按钮组吗?通常选择一个按钮会取消选择前一个按钮,我只需要取消选择一组按钮中的一个即可。 问题答案: 设置相等的属性以创建组;

  • 我想通过编程设置单选按钮的色调。在xml中,有一个名为“buttonint”的属性来完成这项工作。但在程序中,我找不到任何方法来设置单选按钮的色调或颜色。有什么方法可以做到这一点吗?

  • 我有一个底部工作表片段,有两个片段,其中一个片段有一个里面有一个按钮的回收器视图。我需要的是,如果用户点击那个按钮,它会滑动到第二个片段,并传递文本视图的标题。一切都很好,但是如果可能的话,我不知道如何使用我的编码想法。我试着寻找答案,但是没有一个对我有用。 我需要的是 打开回收器视图中按钮的碎片 任何帮助将不胜感激/请使用java或kotlin 我的回收器视图适配器 我的碎片 P. C.我没有在