Как мне вывести целое число в представление EditText?

#java #android-studio #android-edittext #output

#java #android-studio #android-edittext #вывод

Вопрос:

У меня есть EditText в качестве входных данных. Я также пытаюсь использовать его для вывода. Я пробовал следующее:

 FoodIncomeCounter.setText(TotalFood.getText().toString());

FoodIncomeCounter = Integer.parseInt(TotalFood.getText());

String FoodIncomeCounter = String.valueOf(TotalFood);
  

и ничего не работает. Для 1-го и 2-го варианта «getText ()» не может быть разрешен. Могу ли я выводить в представление EditText или мне нужно создать отдельный TextView и выводить его? Надеюсь, это все имеет смысл для вас. Моя цель — иметь возможность использовать переменные FoodCampX и FoodUpgradeX для вычисления дохода и вывода его в переменную FoodIncomeCounter / вид EditText (который в настоящее время вы можете вводить вручную). FoodIncomeCounter — это представление EditText, FoodCampX, FoodUpgradeX и FoodIncome — целые числа, TotalFood — целое число. Спасибо, что научили меня.

Вот код:

 //to get from user input and into variable form
  
    FoodIncomeCounter = (EditText) findViewById(R.id.FoodIncomeCounter);
    IncomeSubmitButton = (Button) findViewById(R.id.IncomeSubmitButton);

    FoodCamp1Counter = (EditText) findViewById(R.id.FoodCamp1Counter);
    FoodCamp2Counter = (EditText) findViewById(R.id.FoodCamp2Counter);
    FoodCamp3Counter = (EditText) findViewById(R.id.FoodCamp3Counter);
    FoodUpgrade1Counter = (EditText) findViewById(R.id.FoodUpgrade1Counter);
    FoodUpgrade2Counter = (EditText) findViewById(R.id.FoodUpgrade2Counter);
    FoodUpgrade3Counter = (EditText) findViewById(R.id.FoodUpgrade3Counter);
    FoodCampSubmitButton = (Button) findViewById(R.id.FoodCampSubmitButton);

}

    //Buttons
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.IncomeSubmitButton:
                //reset to value
                FoodIncomeCounter.setText("");

                //receive the inputted values
                FoodIncome = Integer.parseInt(FoodIncomeCounter.getText().toString());
                break;
            case R.id.FoodCampSubmitButton:
                //reset to value
                FoodCamp1Counter.setText("");
                FoodCamp2Counter.setText("");
                FoodCamp3Counter.setText("");
                FoodUpgrade1Counter.setText("");
                FoodUpgrade2Counter.setText("");
                FoodUpgrade3Counter.setText("");

                //receive the inputted values
                FoodCamp1 = Integer.parseInt(FoodCamp1Counter.getText().toString());
                FoodCamp2 = Integer.parseInt(FoodCamp2Counter.getText().toString());
                FoodCamp3 = Integer.parseInt(FoodCamp3Counter.getText().toString());
                FoodUpgrade1 = Integer.parseInt(FoodUpgrade1Counter.getText().toString());
                FoodUpgrade2 = Integer.parseInt(FoodUpgrade2Counter.getText().toString());
                FoodUpgrade3 = Integer.parseInt(FoodUpgrade3Counter.getText().toString());

                //get food income and show
                TotalFood = FoodCamp1   (FoodCamp2 * 2)   (FoodCamp3 * 3)   (FoodUpgrade1 * 2)   (FoodUpgrade2 * 4)   (FoodUpgrade3 * 6);

                //These 3 options are what iv tried and do not work
                FoodIncomeCounter.setText(TotalFood.getText().toString());
                FoodIncomeCounter = Integer.parseInt(TotalFood.getText());
                String FoodIncomeCounter = String.valueOf(TotalFood);
                //------------------------------------------------------
                break;
            default:
                break;
        }
    }
  

Ответ №1:

Изменить

 FoodIncomeCounter.setText(TotalFood.getText().toString());
  

Для

 FoodIncomeCounter.setText(String.valueOf(TotalFood));
  

Поскольку getText() — это метод для таких компонентов, как EditText, TextView, а не для типов данных.

Ответ №2:

Основываясь на некоторых обоснованных предположениях о типах ваших полей, должно работать следующее, поскольку TotalFood , вероятно, это число:

 FoodIncomeCounter.setText(String.valueOf(TotalFood));
  

getText() это метод для EditText s, но он не работает с числами.