@Dmax99

Как сделать расчет трех TextView?

Здравствуйте!
Подскажите пожалуйста, как рассчитать три параметра. Я только неделю вникаю в это все...

Есть EditText и кнопка к нему.
И есть три TextView в которые попадают данные с SQLLite.
Ищу примеры как EditText умножить на TextView

(TextView - @+id/date) news_date - это на сколько поднялся сахар (12)
(TextView - @+id/insulin) news_insulin - сколько уколол инсулина (4)
(TextView - @+id/uglevodi) news_uglevodi - сколько углеводов на 100 грамм (50)

В EditText ввожу сколько я сьем, например 400 грамм, и надо 400*12/100=48 и заменить существующие TextView и т.д.

Я нашел пример поиска TextView и замены, а вот пример умножения никак найти не могу.
public void MyFunc(View view) {
// тут расчет X, Y, Z

// находим поля для ввода
TextView date = (TextView) findViewById(R.id.date);
TextView insulin = (TextView) findViewById(R.id.insulin);
TextView uglevodi = (TextView) findViewById(R.id.uglevodi);

// заменяем текст
date.setText(String.valueOf(X));
insulin.setText(String.valueOf(Y));
uglevodi.setText(String.valueOf(Z));
}

Подскажите пожалуйста как решить проблему.
Приложение чисто для себя чтобы это все не писать в блокнот или ексель...
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
Rebel-Cat
@Rebel-Cat
Неужели умножить переменные сложнее чем вклинить базу в программу?
Тебе нужна точка обработки логики кнопка(Button) или слушатель на editText.
Тут с кнопкой
Создаешь кнопку соединяешь её с кнопкой xml, вешаешь на неё слушателя(setOnClicktListener в общем это метод кнопки), где обрабатываешь логику.
там же выводишь текстВью.setText(Integer.valueOf(getText().toString * Integer.valueOf(имяОбъектаЕдитТекст.getText().toString())) Тут просто умножено значение поля EditText на значение TextView и сохранено в TextView и так для 3х твоих тексВью
И вот ты нахал на кнопку и изменения вступят в силу

А можно на едитТекст повесить и когда там например нажмешь ентер то изменения вступят вот ссылка там много разных слушателей https://dolbodub.blogspot.com/2013/03/edittext.html

Если вдруг не сможешь сделать я тебе персонально напишу код с пояснениями
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@WaterSmith
Android-разработчик. Java, Kotlin
TextView это не просто какое-то значение, это объект, у которого кроме его значения есть координаты на экране, размеры и еще куча всяких параметров, поэтому вы не можете его просто умножить.
Методом setText вы установили новое значение, которое будет отображать TextViev
Методом getText() вы можете получить его значение, но в виде CharSequence который можете преобразовать в строку String. Но со строкой вы не сможете делать математические действия, поэтому её надо преобразовать в числовое значение, например Integer:
Integer.valueOf(insulin.getText().toString());
Но, так делать не правильно. Данные нужно хранить отдельно от отображения. У вас в коде должны быть переменные, которые имеют нужные вам числовые типы, а в TextView только отображаются значения этих переменных. Тогда для выполнения нужных вам вычислений, или для сохранения значений вам не нужно будет получать значения из TextView, они уже будут вам доступны в виде ваших переменных.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы