Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/20: Рейтинг темы: голосов - 20, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 95
1

Обработка radiobutton android studio

18.03.2018, 18:44. Показов 3963. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Есть группа радиогруппа, в которой есть 4 радиокнопки.
Подскажите, как проверять выбрана она или нет пользователем в файле MainActivity.java .
Сел делать лабораторную, с переводом чисел разобрался , теперь хочется сделать в виде чекбоксов разные алгоритмы, для этого нужно знать какую из радиокнопок выбрал пользователь.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 <RadioGroup
        android:layout_width="179dp"
        android:layout_height="65dp"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"
        android:checkedButton="@+id/radioButton4"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.214"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.286">
 
        <RadioButton
            android:id="@+id/DecBin"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Dec to bin" />
 
        <RadioButton
            android:id="@+id/BinDec"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Bin to dec" />
 
        <RadioButton
            android:id="@+id/DecHex"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Dec to hex"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent" />
 
        <RadioButton
            android:id="@+id/HexDec"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Hex to dec" />
    </RadioGroup>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2018, 18:44
Ответы с готовыми решениями:

Обработка нескольких Spinner в Android Studio
Добрый день! Я только начинаю разбираться с программирование и назрел такой вопрос: в активити есть...

Java,LibGdx,Android Studio обработка на телефоне события вернуться назад
Мне нужна помощь в обработке события вернуться назад при нажатии на аппаратную кнопку...

(Android studio, java) Ошибка при импорте библиотеки cannot resolve symbol android studio
Вот библиотека https://github.com/mik3y/usb-serial-for-android. Устанавливал так, File -&gt; New -&gt;...

Google Android RadioButton
У меня возникла проблема: есть три радио кнопки, как сделать так чтобы когда размеры экрана не...

7
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
18.03.2018, 19:48 2
http://developer.alexanderklim... button.php
0
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 95
18.03.2018, 20:41  [ТС] 3
прочел этот пример раз 20, в моем коде эти примеры не работают ( не знаю как объеденить со своим приложением) ... можете подсказать как получить название выбранной радио кнопки в моей радио группе.
0
25 / 26 / 9
Регистрация: 14.03.2018
Сообщений: 74
18.03.2018, 21:57 4
Если нужно проверить какая кнопка нажата, есть два способа.
1. Назначить на все кнопки один Listener и при любой активности с кнопками в этом Listener заполнять массив состояний.
2. Создать объекты RadioButton и тупо проверять методом isChecked() нажата она или нет.

Пример выше довольно прозрачный, если у вас не работает, код в студию и версию софта в котором работаете.
0
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 95
18.03.2018, 23:40  [ТС] 5
Суть задачки проста, при нажатии на кнопку я проверяю какой из вариантов выбран и конвертирую числа согласно варианту.
Решил задачку 2-ым методом.
Но мне кажется, что есть более оптимальный вариант , чем опрашивать каждую кнопку как я делаю.
Как получить название (id ) нажатой радиокнопки в радиогруппе? Так бы я мог сделать кейс с названиями.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package com.example.acer.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
 
 
public class MainActivity extends AppCompatActivity implements OnClickListener {
 
    private  Button btnConvert;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //init button
        btnConvert = (Button) findViewById(R.id.btnConvert);
        //setup listener
        btnConvert.setOnClickListener(this);
    }
 
    @Override
 
    public void onClick(View view) {
 
    if(btnConvert.equals(view)) {
        int dec = -1;
        EditText decText = (EditText) findViewById(R.id.decText);
        String decStr = decText.getText().toString();
        ////радиогруппа;
 
        RadioButton DecBin,
                    BinDec,
                    DecHex,
                    HexDec;
        DecBin = (RadioButton) findViewById(R.id.DecBin);
        BinDec = (RadioButton) findViewById(R.id.BinDec);
        DecHex = (RadioButton) findViewById(R.id.DecHex);
        HexDec = (RadioButton) findViewById(R.id.HexDec);
        ////// Орегинальная лабораторная:
        if(decStr.length()>0 && decStr.length()<9)
            dec = 12;
       //    dec = Integer.parseInt(decStr);
        String bin ="";
 
        // метод из лабы
        //////////////////
    //    if(dec>0) {
      //      String bin ="";
     //       while (dec !=0) {
     //           if (dec % 2 == 0)
      //              bin ="0" + bin;
     //           else
       //             bin = "1"+bin;
       //         dec = dec / 2;
  //          }
        dec = 12;
        ////// Мое задание по ней:
        //////////////////// десятичное в двоичное
        if (DecBin.isChecked()) {
            bin = Integer.toBinaryString(Integer.parseInt(decStr));
        }
        ///////////////// двоичное в десятичное
        else if (BinDec.isChecked()) {
            //   dec = Integer.parseInt(decStr , 2);
            bin = Integer.toString(Integer.parseInt(decStr, 2));
        }
        //////////////////// десятичное в шестнадцетиричное
      else if (DecHex.isChecked()) {
             bin = Integer.toString(Integer.parseInt(decStr), 16);
        }
        ////////////////////  шестнадцетиричное в десятичное
        else if (HexDec.isChecked()) {
      //  dec = Integer.parseInt(decStr , 16);
       bin =  Integer.toString(Integer.parseInt(decStr , 16));
        };
 
        EditText binText = (EditText) findViewById(R.id.binText);
         binText.setText(bin);
 
 
 //       }
    }}}
0
25 / 26 / 9
Регистрация: 14.03.2018
Сообщений: 74
19.03.2018, 06:30 6
Цитата Сообщение от mixank2 Посмотреть сообщение
Но мне кажется, что есть более оптимальный вариант
Есть и он приведен в примере выше, создать объект группы кнопок и подключить к нему Listener
Java
1
2
3
4
5
6
7
8
9
10
11
OnCheckedChangeListener radioGroupOnCheckedChangeListener =
        new OnCheckedChangeListener(){
 
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
 
        RadioButton checkedRadioButton = (RadioButton)radioGroup.findViewById(checkedId);
        int checkedIndex = radioGroup.indexOfChild(checkedRadioButton);
     
        textCheckedIndex.setText("checkedIndex = " + checkedIndex);
    }};
0
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 95
19.03.2018, 07:56  [ТС] 7
Как встроить это выражение в мою программу?
0
25 / 26 / 9
Регистрация: 14.03.2018
Сообщений: 74
19.03.2018, 10:04 8
Прикладываю демо проект под Android Studio.
Вложения
Тип файла: zip MyApplication.zip (82.3 Кб, 8 просмотров)
0
19.03.2018, 10:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2018, 10:04
Помогаю со студенческими работами здесь

Работа с файлами android которые находятся не в папке проекта Android Studio
Всех приветствую, начал разработку приложения под Android и не могу разобраться как работать с...

Android Studio не находит функцию TextView в пакете Android.Widget
Я создал новый проект в Android Studio. Android Studio не находит функцию TextView в пакете...

Не предлагается установка Android SDK при установке Android Studio
на сайте https://developer.android.com/studio/... скачал exeшник для установки Android Studio....

Android studio, как запускать программу сразу на android смартфоне подключенному к usb?
android studio, как запускать программу сразу на android смартфоне подключенному к usb?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru