2017-07-21 14 views
0

私はスピナーを持っているダイアログウィンドウを持っています。上記のスピナーで選択された値に応じて、レイアウトにいくつかの要素または他の要素をロードする必要があります。私はこの方法を持っていますが、.setVisibilityは機能していません。ダイアログからビューIDを取得するにはどうすればよいですか?

 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) {} 
    }); 

私を助けてください。 ありがとう!

答えて

0

私は自分の質問を解決したように見えます!私は誰かが同じ問題に直面した場合にそれを掲示しています。代わりに私が行ったようviewQuestionを使用しての

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

あなたがリファレンスとしてごダイアログを使用する必要があります。

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