-2

Cette erreur se produit lorsque le fragment est lancé. Pourrait-il être dans le code de bouton radio?android - Les boutons radio d'un fragment provoquent un plantage

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 
+0

Envisager d'accepter réponse si aidé. :) – W4R10CK

Répondre

2

Vous devez d'abord gonfler les vues.

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

getView() retourne NULL jusqu'à ce que vous avez retourné une hiérarchie de vue de onCreateView(), donc vous ne devriez pas appeler getView() dans cette méthode.

0

Le Context de Fragment est getActivity, si vous n'êtes pas initialisez une vue, utilisez getActivity(). Donc, dans votre code:

Remplacer ceci:

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

Avec ce code:

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