android - 碎片中的单选按钮导致崩溃

时间:2017-01-13 00:57:01

标签: android android-fragments radio-button radio-group oncheckedchanged

片段启动时崩溃。它可以在单选按钮代码中吗?

    RadioGroup q1;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        q1 = (RadioGroup) getView().findViewById(R.id.radioGQ1);
        q1.setOnCheckedChangeListener(this);
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_exercise, container, false);

    }
    rest -> http://pastebin.com/cRptSmD4

2 个答案:

答案 0 :(得分:2)

您需要先扩充视图。

View root = inflater.inflate(R.layout.fragment_exercise, container, false);
q1 = (RadioGroup) root.findViewById(R.id.radioGQ1);
q1.setOnCheckedChangeListener(this);
return root;
getView()返回视图层次结构之前,

onCreateView()返回null,因此您不应该在该方法中调用getView()

答案 1 :(得分:0)

Context的{​​{1}}为Fragment,如果您没有初始化任何视图,请使用getActivity。所以在你的代码中:

替换它:

getActivity()

使用此代码:

q1 = (RadioGroup) getView().findViewById(R.id.radioGQ1);