2017-07-21 1 views
0

J'ai une fenêtre de dialogue où j'ai un spinner. En fonction de la valeur sélectionnée dans ladite spinner je dois charger certains éléments ou d'autres à la disposition. J'ai cette méthode pour le faire, mais le .setVisibility ne fonctionne pas:Comment puis-je obtenir un ID de vue à partir d'une boîte de dialogue?

 Spinner spinnerTypeQuestion = (Spinner) dialog.findViewById(R.id.spinnerQuestionType); 
    spinnerTypeQuestion.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      TextView wrapperRange; 
      View viewQuestion = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_dialog, null); 
      switch (position){ 
       case 0: // Range question 
        wrapperRange = (TextView) viewQuestion.findViewById(R.id.wrapperRange); 
        wrapperRange.setVisibility(View.VISIBLE); 
        break; 
       case 1: // Open answer 
        wrapperRange = (TextView) viewQuestion.findViewById(R.id.wrapperRange); 
        wrapperRange.setVisibility(View.GONE); 
        break; 
       default: 
        break; 
      } 
     } 
     @Override 
     public void onNothingSelected(AdapterView<?> parent) {} 
    }); 

Pourriez-vous me aider, s'il vous plaît? Merci!

Répondre

0

On dirait que j'ai résolu ma propre question! Je l'affiche au cas où quelqu'un ferait face au même problème.

Au lieu d'utiliser viewQuestion comme moi:

wrapperRange = (TextView) viewQuestion.findViewById(R.id.wrapperRange); 

Vous devez utiliser votre dialogue comme référence:

wrapperRange = (TextView) dialog.findViewById(R.id.wrapperRange);