Ich habe 2 statische Radiobuttons in Radiogruppe in XML wie folgt aus:Android Radiobutton ckecked zeigt aber nicht es
<RadioGroup
android:id="@id/rdg_feed_event"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/txt_feed_calendar"
android:layout_centerHorizontal="true"
**android:checkedButton="@id/rdb_feed_event"**
android:background="@drawable/radio_group_title"
android:divider="@drawable/divider_title"
android:orientation="horizontal"
android:showDividers="middle">
<RadioButton
android:id="@id/rdb_feed_event"
style="@style/Theme.RadioButton"
android:background="@drawable/radio_btn_left_title"
android:fontFamily="@string/font_family_normal"
android:text="@string/feed_event"
android:textColor="@drawable/radio_btn_text_gray_black"/>
<RadioButton
android:id="@id/rdb_feed_event_my"
style="@style/Theme.RadioButton"
android:background="@drawable/radio_btn_right_title"
android:fontFamily="@string/font_family_normal"
android:text="@string/feed_event_my"
android:textColor="@drawable/radio_btn_text_gray_black"/>
</RadioGroup>
Dies alles Fragment in seiner onCreateView gesetzt:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = super.onCreateView(inflater, container, savedInstanceState);
mRdbEvent = (RadioButton) view.findViewById(R.id.rdb_feed_event);
mRdbEventMy = (RadioButton) view.findViewById(R.id.rdb_feed_event_my);
mRdgEvent = (RadioGroup) view.findViewById(R.id.rdg_feed_event);
..
Wenn ich zum ersten Mal App - die Schaltfläche "Ereignisse" wird aktiviert und es wird in der Ansicht angezeigt und der Ausdruck mRdgEvent.getCheckedRadioButtonId() == mRdbEvent.getId()
gibt true
zurück. Dann tippe ich auf den zweiten Radiobutton und danach tippe ich auf ein anderes Menü, das zu einem anderen Fragment führt (mit FragmentTransaction.replace). Danach kehre ich zum ersten Fragment zurück - wieder wird seine onCreateView
Methode gestartet und wieder mRdgEvent.getCheckedRadioButtonId() == mRdbEvent.getId()
in onCreateView
gibt true
zurück. Aber für diese Zeit wird der zweite Radioknopf in Sicht geprüft, nicht der erste. Aber der Code zeigt an, dass die Eins überprüft wird - wie es in xml deklariert ist, um standardmäßig überprüft zu werden. Wie kann das sein? Danke im Voraus.
Geben Sie den Code "@ style/Theme.RadioButton" ein. Möglicherweise haben Sie etwas falsch gemacht –
– AlexInspired
Deshalb. Sie erben nicht ein "RadioButton", Sie erweitern eine TextView, also hat Ihr RadioButton-Thema offensichtlich nicht die Attribute, die es benötigt. –