2016-11-24 16 views
0

setVisibility(View.INVISIBLE)の部分はうまくいきますが、ラジオボタンを押して項目が表示されない場合は表示されません。私は何が欠けていますか?不可視に設定した後にsetVisibility(View.Visible)が機能しない

rg = (RadioGroup) myView.findViewById(R.id.radioGroup); 

rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
      switch (checkedId){ 
       case R.id.list:{ 

        listSearch.setVisibility(View.VISIBLE); 
        editSearch.setVisibility(View.VISIBLE); 

       } 
       case R.id.order:{ 

        listSearch.setVisibility(View.INVISIBLE); 
        editSearch.setVisibility(View.INVISIBLE); 

       } 

      } 
     } 
}); 
+1

あなたはスイッチを使用しています。注文ケースの前に休憩を追加してください。 – AxelH

+0

@AxelH働いてくれてありがとうございます。 – Godfryd

+0

次回は、これが一般的な間違いであることを確認しようとしました。また、デバッグする;)各ケースにいくつかのログを追加する(またはデバッガを使用する)。これはかなり明白です – AxelH

答えて

3

スイッチを使用しているため、いつ停止するかについて注意する必要があります。

あなたは読書を止める時を指示する必要があります。次のそれぞれの場合は、あなたが休憩に達するまで実行されます。ここで

LINE Aなし

switch (checkedId){ 
    case R.id.list: 
     ... 
     break; // *** LINE A 
    case R.id.order: 
     ...     
} 

、次の行は、1回の呼び出しでVISIBLEその後、INVISIBLEにビューを設定しますつまり、あまりにも実行されます。

関連する問題