Android - Как взять EditText (числа), а затем преобразовать его в целое число, чтобы использовать его для математики? - PullRequest
7 голосов
/ 05 августа 2011

Мне интересно, как взять область EditText, в которую пользователь может ввести число, а затем сделать его целым числом, чтобы его можно было использовать в программе для сложения, вычитания, деления и т. Д. В основном мне нужно проверить ввод чтобы его можно было использовать в калькуляторе, который будет находиться внутри кода, а затем его нужно поместить в TextView или строку, чтобы конечный ответ мог видеть пользователь.

Дополнительная информация: У меня есть три области EditText, и пользователь должен заполнить все три, а затем нажать «равно», и он скажет им ответ, вся математика и тому подобное должны быть в коде, чтобы пользователь просто вводил информацию и фактически не вычислял что-нибудь. Спасибо за помощь, пожалуйста, спросите меня, если вам нужна дополнительная информация.

Лучший способ сделать это, и код очень мне поможет.

Я добавил предложенный код, но я все еще получаю сообщение об ошибке parseInt, и мне все еще нужно добавить кнопку для вычисления чисел, введенных в областях EditText. Как бы я это сделал? Извините, я честно отношусь к разработке на Java и Android.

             package com.example.one;


             import com.example.one.R;

             import android.app.Activity;
             import android.content.Intent;
             import android.os.Bundle;
             import android.text.Editable;
             import android.view.View;
             import android.widget.Button;
             import android.widget.EditText;

             public class monthlyp extends Activity{

         @Override
        protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.monthlyp);


   EditText editone = (EditText) findViewById(R.id.editone);
   EditText editoneValue = (EditText) editone.getText();
   int editoneNum = Integer.parseInt(editoneValue);

    }
   ;

   }

Ответы [ 4 ]

12 голосов
/ 05 августа 2011

Сначала получите экземпляр EditText:

EditText myEdit = (EditText) findViewById(R.id.edittext1);

Затем получите строку, которая отображается в данный момент:

String myEditValue = myEdit.getText().toString();

Затем проанализируйте ее на целое число:

int myEditNum = Integer.parseInt(myEditValue);
3 голосов
/ 05 августа 2011

Вы должны изменить в свойстве EditText Input type.Для чисел у вас есть три варианта: number, numberSigned или numberDecimal.Это зависит от того, что вы хотите.

Тогда, если вы хотите преобразовать вашу строку в вашем EditText в целое число, вы можете сделать:

int value = new Integer(myEditText.getText().toString()).intValue;
1 голос
/ 07 июня 2012

Вы должны использовать:

myEdit.setText(myEditValue);

myEditValue - это строковая версия myEditNum.

1 голос
/ 15 сентября 2011
EditText myEdit = (EditText) findViewById(R.id.edittext1);

String myEditValue = myEdit.getText().toString();

int myEditNum = Integer.parseInt(myEditValue);

myEditNum.setText(textOut1);

Я использую вышеупомянутое, чтобы получить пользовательский ввод как числовой формат.Однако когда я пытаюсь отобразить int myEditNum в TextView (textOut1) с помощью метода setText (), я получаю ошибку для метода setText (говоря: «Невозможно вызвать setText (TextView) для примитивного типа int»).1002 *

Я также попытался (ниже) преобразовать int myEditNum в строку и затем отобразить его в TextView, но все равно не работает, так как я получаю следующую ошибку для метода setText: '' Метод setText (TextView)не определено для типа String ''.EditText myEdit = (EditText) findViewById (R.id.edittext1);

String myEditValue = myEdit.getText().toString();

int myEditNum = Integer.parseInt(myEditValue);


String texting = Integer.toString(myEditNum);

texting.setText(textOut1);

Почему это происходит и как мне это решить?

...