2017-02-16 12 views
0

私はここでこの質問に対するすべての答えを読みましたが、まだ何も助けになっていません。CheckBox setCheckedは効果がありません

public class ServerConfigFragment extends Fragment { 

    private CheckBox checkBox_HDMI = null; 
    private Handler updateScreen; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    updateScreen = new Handler(); 

    checkBox_HDMI = (CheckBox) rootView.findViewById(R.id.checkBox_Server_Conf_HDMI); 

    checkBox_HDMI.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ 
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
     { 
      m_commsController.sendCmd(VideoStreamSettings.sendHdmiCommand(isChecked)); 
     } 
    }); 

    final boolean hdmi = getHdmiSettingFromServer(); 

    updateScreen.post(new Runnable() { 
      @Override 
      public void run() { 
       checkBox_HDMI.setSelected(hdmi); 
      } 
      }); 
    } 
} 

だから、私のアプリの初回起動時には、サーバーのHDMI状況をquerysと私はそれを一致させるために、私のチェックボックスを設定します。私はログから私は正しい値を得ていることがわかりますが、これまで私はプログラムでオン/オフをチェックするために私のチェックボックスを得ることができませんでした。 私はHandlerの有無にかかわらず、truefalsesetChecked()にハードコードし、onResumeにコードを入れてみました。何か案は?チェックボックスを使用して、プログラムのチェックボックス

の使用を確認したいされているので

+1

それはあなたが '呼んでいる間違いです'setChecked()'の代わりに 'setSelected(hdmi)'を使用しますか? –

+0

'checkBox_HDMI.setChecked(hdmi);'を使用してください – king

+0

うん、コードブラインド+コピー&ペーストエラー、ありがとう男! – shoota

答えて

0

この

checkBox_HDMI.setChecked(hdmi); 

代わりの

checkBox_HDMI.setSelected(hdmi); 
関連する問題