нольпоинтеллектуальная радиопереключение во фрагменте - PullRequest
0 голосов
/ 11 мая 2018

Я хочу получить текст от RadioButton, который является Мужским или Женским, но, тем не менее, я получил результат nullPointerExeception. Ниже мой код:

 sex = (RadioGroup)v.findViewById(R.id.radioGroup);
 int selectSex = sex.getCheckedRadioButtonId();
 radioButton = (RadioButton)v.findViewById(selectSex);
 String empSex = radioButton.getText().toString();

 Toast.makeText(getContext(),empSex + "",Toast.LENGTH_LONG).show();

XML:

<RadioGroup
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/radioGroup"
        android:layout_margin="5dp"
        android:orientation="horizontal"
        android:weightSum="1">

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/male"
            android:id="@+id/maleRadio"
            android:textColor="@color/colorAccent"
            android:layout_weight="0.3"/>

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/female"
            android:id="@+id/femaleRadio"
            android:textColor="@color/colorAccent"
            android:layout_weight="0.3"/>

    </RadioGroup>

PS: Это на странице фрагмента.

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Можно попробовать if-else утверждение в твоем случае мужчина и женщина так что

if(male.isChecked()){
//do somethings                  
}
else if(female.isChecked()){
//do somethings
}

это самый простой и легкий.

0 голосов
/ 11 мая 2018

Это проблема с вашим использованием. Вы не хотите показывать тост непосредственно при создании вашего фрагмента. Это должно быть, когда пользователь выбирает любую радиокнопку или пользователь оставляет ее выбранной по умолчанию. Вы должны использовать sex.setOnCheckedChangeListener, Ответ, который вы ищете

здесь: - https://stackoverflow.com/a/8323973/3594268

и здесь: - https://stackoverflow.com/a/9175703/3594268

А для контекста здесь: - https://stackoverflow.com/a/8215398/3594268 // это ваше исключение нулевого указателя в Toast

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...