#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, но он не работает с числами.