Ich habe alle Antworten auf diese Frage hier gelesen und nichts hat noch geholfen.CheckBox setChecked hat keine Wirkung
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);
}
});
}
}
So auf meine App Ersteinführung querys es den hdmi Status des Servers und ich möchte, dass meine Checkbox einstellen, dass übereinstimmen. Ich kann aus dem Log sehen, dass ich den richtigen Wert bekomme, aber bisher war es mir nicht möglich, meine Checkbox per Programm zu aktivieren/deaktivieren. Ich habe mit und ohne Handler
versucht, true
und false
in setChecked()
hartcodieren und den Code in onResume
setzen. Irgendwelche Ideen?
Ist es ein Fehler, dass Sie anrufen ' setSelected (hdmi) 'anstelle von' setChecked() '? –
Verwenden Sie 'checkBox_HDMI.setChecked (hdmi);' – king
Ja, code-blind + Kopieren und Einfügen Fehler, danke Jungs! – shoota