С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 21

RadioButton как вычислить значение

17.02.2024, 16:13. Показов 528. Ответов 2

Студворк — интернет-сервис помощи студентам
При вводе аргумента x и нажатии Button проверяется в какой из трех диапазонов попадает x, выполняются вычисления и результат отображается в TextView. При этом соответствующая радиокнопка становится отмеченной. Если далее нажать другую радиокнопку, вычисления пересчитываются для формулы, соответствующей этой кнопки, в TextView выводится новый результат, диапазон, в котором находится x игнорируется. Проблема в том, что при нажатии на другую радиокнопку, она все равно считает по формуле, в которое попадает значение X. Подскажите пожалуйста, как сделать

Код программы

MainActivity.java
Kotlin
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
package com.example.test
      import android.os.Bundle
      import android.widget.Button
      import android.widget.Button
      import android.widget.CheckBox
      import android.widget.EditText
      import android.widget.RadioButton
      import android.widget.TextView
      import androidx.appcompat.app.AppCompatActivity
      import kotlin.math.pow
      import kotlin.math.sin
      import kotlin.math.sqrt
  class MainActivity : AppCompatActivity() {
private lateinit var editTextX: EditText
private lateinit var buttonCalculate: Button
private lateinit var textViewResult: TextView
private lateinit var radioButtonFormula1: RadioButton
private lateinit var radioButtonFormula2: RadioButton
private lateinit var radioButtonFormula3: RadioButton
private lateinit var checkBoxDouble: CheckBox
 
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
 
    editTextX = findViewById(R.id.editTextX)
    buttonCalculate = findViewById(R.id.buttonCalculate)
    textViewResult = findViewById(R.id.textViewResult)
    radioButtonFormula1 = findViewById(R.id.radioButtonFormula1)
    radioButtonFormula2 = findViewById(R.id.radioButtonFormula2)
    radioButtonFormula3 = findViewById(R.id.radioButtonFormula3)
    checkBoxDouble = findViewById(R.id.checkBoxDouble)
 
    buttonCalculate.setOnClickListener {
        calculateResult()
    }
 
    // Начальная установка радиокнопок
    radioButtonFormula1.isChecked = false
}
 
private fun calculateResult() {
    val x = editTextX.text.toString().toDoubleOrNull()
 
    if (x != null) {
        val result = when {
            x <= 2 -> {
                radioButtonFormula1.isChecked = true
                sin(x + 1)
            }
            x > 2 && x < 3 -> {
                radioButtonFormula2.isChecked = true
                sqrt(x.pow(3) - 1)
            }
            else -> {
                radioButtonFormula3.isChecked = true
                x + 1.5
            }
        }
 
        if (checkBoxDouble.isChecked) {
            textViewResult.text = (result * 2).toString()
        } else {
            textViewResult.text = result.toString()
        }
    } else {
        textViewResult.text = "Введите корректное значение x"
    }
} }
activity_main.xml

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="100dp">
 
<Button
    android:id="@+id/buttonCalculate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/checkBoxDouble"
    android:layout_marginTop="100dp"
    android:text="Вычислить" />
 
 
<CheckBox
    android:id="@+id/checkBoxDouble"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="220dp"
    android:text="Удвоить результат" />
 
<EditText
    android:id="@+id/editTextX"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="0dp"
    android:hint="Введите значение x"
    android:inputType="numberDecimal" />
 
<TextView
    android:id="@+id/textViewResult"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/buttonCalculate"
    android:layout_marginTop="16dp"
    android:text=""
    android:textSize="18sp" />
 
<RadioGroup
    android:id="@+id/radiogroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="50dp">
 
 
    <RadioButton
        android:id="@+id/radioButtonFormula1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Формула 1" />
 
    <RadioButton
        android:id="@+id/radioButtonFormula2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Формула 2" />
 
    <RadioButton
        android:id="@+id/radioButtonFormula3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Формула 3" />
</RadioGroup> </RelativeLayout>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.02.2024, 16:13
Ответы с готовыми решениями:

Radiobutton. Как сравнить выбранное значение radiobutton с исходным
Добрый день, подскажите, пожалуйста, делаю тест с элементами radiobutton, необходимо проверить правильное ли значение выбрал пользователь....

Как сделать чтобы после нажатия RadioButton в одном из шести Radiogroop в edit1 автоматически вносилось значение radiobutton
Как сделать чтобы после нажатия RadioButton в одном из шести Radiogroop в edit1 автоматически вносилось значение radiobutton

Как сохранить значение значение переключателя RadioButton в базе данных
Здравствуйте, подскажите пожалуйста как сохранить значение кнопки RadioButton (on или off) в базе данных? forms.py from django...

2
 Аватар для Azathtot
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
18.02.2024, 08:34
radiogroup.getCheckedId() есть такой метод
Возвращает Id выбранного RadioButton в группе
1
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 21
18.02.2024, 09:51  [ТС]
Спасибо. Попробую использовать этот метод
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.02.2024, 09:51
Помогаю со студенческими работами здесь

не записывается значение radiobutton кроме первой radiobutton
На страницу из БД выводится вопросы и четыре ответа к вопросам(radiobutton-ы). Т.е. Страница.php Вопрос? radiobutton1 name=o...

Как запомнить значение radioButton?
Добрый день, я пишу диплом, и на самом деле я никудышный программист. И так вышло, что пишу приложение типа аналога теста НА ПДД, только с...

Как в скрипте присвоить значение RadioButton?
Нужно заполнить поля в форме, читая данные из файла. С чтением проблем нет, с заполнением текстовых полей - тоже. А вот с RadioButton -...

Как присвоить значение атрибута RadioButton?
Считываю данные с xml файла, нужно чтоб при нажатии на радиобутон чтоб проверял если он содержит правильный ответ или нет, если да вверху...

Как получить значение RadioButton на другой странице?
Всем привет. На странице Answer1.aspx есть код: &lt;asp:RadioButton ID=&quot;RadioButton1&quot; GroupName=&quot;prof&quot; Text=&quot;1&quot;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru