首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何知道setOnCheckedChangeListener是从哪个片段实例中调用的?

如何知道setOnCheckedChangeListener是从哪个片段实例中调用的?
EN

Stack Overflow用户
提问于 2020-04-22 01:06:46
回答 1查看 17关注 0票数 0

我有一个主要的活动,我必须在每个屏幕上显示12个问题中的3个(保存在sql数据库中),并使用单选按钮Yes和No。所以我创建了一个片段类,并在我的主活动中调用了它三次。在我的next按钮上,我创建了我的主类的意图。因此,使用一个片段,我在4个屏幕上填充了12个问题。

现在,当我按下单选按钮时,我希望看到单选按钮针对哪个问题被单击,然后计算分数(每个问题都有单独的分数。这也在我的sqlite数据库中映射到每个问题上)我该怎么做?

EN

Stack Overflow用户

发布于 2020-04-22 01:32:35

方法一:创建4个片段。

代码语言:javascript
运行
复制
public class Fragment1 extends Fragment {
    private RadioButton radioButton;
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        // radioButton.setOnCheckedChangeListener...
    }
}

public class Fragment2 extends Fragment {
    private RadioButton radioButton;
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        // radioButton.setOnCheckedChangeListener...
    }
}

public class Fragment3 extends Fragment {
    private RadioButton radioButton;
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        // radioButton.setOnCheckedChangeListener...
    }
}

public class Fragment4 extends Fragment {
    private RadioButton radioButton;
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        // radioButton.setOnCheckedChangeListener...
    }
}

方法2:通过传递4个不同的整数包创建1个片段。

代码语言:javascript
运行
复制
Bundle bundle1 = new Bundle();
bundle1.putInt("questions1" , 1);

Bundle bundle2 = new Bundle();
bundle2.putInt("questions2" , 2);

Bundle bundle3 = new Bundle();
bundle3.putInt("questions3" , 3);

Bundle bundle4 = new Bundle();
bundle4.putInt("questions4" , 4);

Fragment fragment = new QuestionsFragment();
fragment.setArguments(bundle1);

Fragment fragment = new QuestionsFragment();
fragment.setArguments(bundle2);

Fragment fragment = new QuestionsFragment();
fragment.setArguments(bundle3);

Fragment fragment = new QuestionsFragment();
fragment.setArguments(bundle4);

QuestionsFragment中的onCreateView使用Bundle bundle1 = getArguments();获取整数标志。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61349091

复制
相关文章

相似问题

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