#android #android-edittext #int #textview
#Android #android-edittext #int #textview
Вопрос:
Это мой xml. У меня есть EditText и текстовое представление
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@ id/resultado"/>
<EditText
android:id="@ id/a_edit_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="Insira a"
android:inputType="number"
android:padding="36dp" />
Мой java-файл. Я уже преобразовал значение EditText в int, я думаю. Что я делаю не так?
public class DiagnosticoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_diagnostico);
// Get a value from a editText
EditText editTextA = (EditText) findViewById(R.id.a_edit_text);
TextView resul = (TextView) findViewById(R.id.resultado);
String variableA = editTextA.getText().toString(); //this will get a string
int a = 0;
try {
a = Integer.parseInt(variableA);// will only work on numeric entries
Log.v("DiagnosticoActivity", "Number a: " a); // this log doesn't work...why?
resul.setText("" a); //Added "" here
}
catch (NumberFormatException e) {
// handle incorrect text entry here
} // a will be 0 if exception occurred
}
}
Как я могу отобразить введенное число с помощью TextView?
Я пробовал это, но это не сработало…Что я должен делать?
public class DiagnosticoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_diagnostico);
}
public void calcular(View view){
// Get a value from a editText
EditText editTextA = (EditText) findViewById(R.id.a_edit_text);
TextView resul = (TextView) findViewById(R.id.resultado);
String variableA = editTextA.getText().toString(); //this will get a string
int a = 0;
try {
a = Integer.parseInt(variableA);// will only work on numeric entries
Log.v("DiagnosticoActivity", "Number a: " a); // this log doesn't work...why?
resul.setText(a);
}
catch (NumberFormatException e) {
// handle incorrect text entry here
} // a will be 0 if exception occurred
}
}
<Button
android:id="@ id/button_calcular"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calcular"
android:layout_marginRight="8dp"
android:onClick="calcular"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@ id/resultado"/>
<EditText
android:id="@ id/a_edit_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="Insira a"
android:inputType="number"
android:padding="36dp" />
Новый код Java
public class DiagnosticoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_diagnostico);
}
public void calcular(View view){
// Get a value from a editText
EditText editTextA = (EditText) findViewById(R.id.a_edit_text);
TextView resul = (TextView) findViewById(R.id.resultado);
String variableA = editTextA.getText().toString(); //this will get a string
int a = 0;
try {
a = Integer.parseInt(variableA);// will only work on numeric entries
Log.v("DiagnosticoActivity", "Number a: " a); // this log doesn't work...why?
resul.setText("" a); //Added "" here
}
catch (NumberFormatException e) {
// handle incorrect text entry here
} // a will be 0 if exception occurred
}
}
Теперь я хочу получить строку в виде редактирования, преобразовать в double и отобразить в текстовом представлении…Но мои приложения терпят крах!
public class DiagnosticoActivity extends AppCompatActivity {
EditText editTextA;
EditText editTextB;
EditText editTextC;
EditText editTextD;
TextView resu<
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_diagnostico);
//Locate a View
editTextA = (EditText) findViewById(R.id.a_edit_text);
editTextB = (EditText) findViewById(R.id.b);
editTextC = (EditText) findViewById(R.id.c);
editTextD = (EditText) findViewById(R.id.d);
result = (TextView) findViewById(R.id.resultado);
}
public void calcular(View view){
// Get a value from a editText
String variableA = editTextA.getText().toString(); //this will get a string
String variableB = editTextB.getText().toString(); //this will get a string
String variableC = editTextC.getText().toString(); //this will get a string
String variableD = editTextD.getText().toString(); //this will get a string
//Cast a String in a int or double
double a = Double.parseDouble(variableA);
int b = Integer.parseInt(variableB);
int c = Integer.parseInt(variableC);
int d = Integer.parseInt(variableD);
double soma = a;
result.setText("" soma);
/*double soma = a/b;
String finalresult = new Double(soma).toString();
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(0);
nf.setMaximumFractionDigits(0);
finalresult= nf.format(result);
textView1.setText(finalresult);*/
/*
double soma = a/b;
String stringDouble= Double.toString(soma);
result.setText("" stringDouble);*/
/*int a = 0;
int b = 0;
try {
a = Integer.parseInt(variableA);// will only work on numeric entries
b = Integer.parseInt(variableB);// will only work on numeric entries
Log.v("DiagnosticoActivity", "Number a: " a);
}
catch (NumberFormatException e) {
a = 0; // handle incorrect text entry here
} // a will be 0 if exception occurred*/
}
}
Ответ №1:
public class DiagnosticoActivity extends AppCompatActivity {
EditText editTextA;
TextView resul;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_diagnostico);
editTextA = (EditText) findViewById(R.id.a_edit_text);
resul = (TextView) findViewById(R.id.resultado);
}
public void calcular(View view){
// Get a value from a editText
String variableA = editTextA.getText().toString(); //this will get a string
resul.setText(variableA);
int a = 0;
try {
a = Integer.parseInt(variableA);// will only work on numeric entries
Log.v("DiagnosticoActivity", "Number a: " a); // this log doesn't work...why?
}
catch (NumberFormatException e) {
a = 0; // handle incorrect text entry here
} // a will be 0 if exception occurred
}
}
Комментарии:
1. Ты гений! ЭТО СРАБОТАЛО!!! Позвольте мне понять алгоритм… Можете ли вы объяснить мне, что я делал не так? Спасибо!
2. Ничего особенного. Проблема только с этим утверждением. resul.setText(a); Получение ввода EditText в виде строки, преобразующей в int, и снова преобразующей его в строку для отображения в TextView. Вместо этого мы можем показать непосредственно выбранную строку (из EditText).
3. Я предлагаю вам попробовать и выполнить примеры для нужных вам тем, а не пробовать это самостоятельно. Это может помочь вам получить хорошие базовые знания о программировании на Android и Android.
4. Один вопрос. Показанное число является строкой или int? Это должно отображать переменную а вместо. Я прав?
5. Сделайте одно одолжение. Я удалю все свои ответы, кроме этого. Вы удаляете свои журналы ошибок и все остальное. Сохраняйте только код xml и Java.