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
の有無にかかわらず、true
とfalse
をsetChecked()
にハードコードし、onResume
にコードを入れてみました。何か案は?チェックボックスを使用して、プログラムのチェックボックス
の使用を確認したいされているので
それはあなたが '呼んでいる間違いです'setChecked()'の代わりに 'setSelected(hdmi)'を使用しますか? –
'checkBox_HDMI.setChecked(hdmi);'を使用してください – king
うん、コードブラインド+コピー&ペーストエラー、ありがとう男! – shoota