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

android - Radio Buttons in a Fragment causing crash

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

    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

您需要先膨胀视图。

View root = inflater.inflate(R.layout.fragment_exercise, container, false);
q1 = (RadioGroup) root.findViewById(R.id.radioGQ1);
q1.setOnCheckedChangeListener(this);
return root;

getView() returns null,直到您从 onCreateView() 返回视图层次结构,因此您不应在该方法中调用 getView()

FragmentContextgetActivity,如果不初始化任何视图,则使用getActivity()。所以在你的代码中:

替换为:

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

使用此代码:

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