eher erklärend Titel Aufruf wird die XML-warum Schalter Compat Null-Zeiger in Fragmente zu verursachen, wenn hier onCheckedChange
<android.support.v7.widget.SwitchCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mySwitch"
app:showText="false"
android:textOn="On"
android:textOff="Off"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin" />
und hier ist das wichtigste, was
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.intro_frag, container, false);
getPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
switchCompat = (SwitchCompat) getActivity().findViewById(R.id.mySwitch);
return rootView;
}
@Override
public void onActivityCreated(final Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
switchCompat.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
if (isChecked) {
//do stuff
}
else if (!isChecked){
//do other stuff
}
}
});
in meinem Fragmente im tut der Zeile switchCompat.setOnCheckedChangeListener verursacht eine Nullzeigerausnahme, ohne dass alles gut läuft ive hat das Problem durchsucht und ein paar Korrekturen gefunden, wie den Schalter, der Text und Zeug benötigt, aber ich kann das nicht erreichen. Kann mir jemand helfen?
haben Sie überprüfen, ob findViewById() gefunden tatsächlich den Schalter, also sind Sie sicher, switchCompat nicht null ist? – nPn
Nein, es ist nur im selben Layout, ich kann mit dem Schalter spielen, wenn ich den Set-Change-Listener nicht anrufe, wie würde ich das nur wörtlich tun, wenn (mySwitch! = Null) @nPn –