我是新手編程,所以我真的不知道如何解決這個問題或爲什麼發生。不能得到editText整數值正確
我正在製作一個應用程序,並且在Main2Activity中假設用戶在EditText中插入一個值,然後在用戶按下按鈕後,該值將變爲整數並用於數學運算。
事情是,當我嘗試出來,當我按MainActivity中的按鈕來帶我到Main2Activity,應用程序崩潰。
我將問題縮小到了我在Main2Activity按鈕中的編碼,但並不真正知道錯在哪裏。
這是Main2Activity代碼。你可以幫我嗎?謝謝。
package com.example.cabr.teste;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Main2Activity extends AppCompatActivity {
public double valorhorasponta = 0;
public double valorhorascheias = 0;
public double valorhorasvazio = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
TextView textView9 = (TextView) findViewById(R.id.textView9);
TextView textView10 = (TextView) findViewById(R.id.textView10);
TextView textView12 = (TextView) findViewById(R.id.textView12);
TextView textView14 = (TextView) findViewById(R.id.textView14);
final TextView textView11 = (TextView) findViewById(R.id.textView11);
final TextView textView13 = (TextView) findViewById(R.id.textView13);
final TextView textView15 = (TextView) findViewById(R.id.textView15);
final TextView textView17 = (TextView) findViewById(R.id.textView17);
final EditText editText1 = (EditText) findViewById(R.id.editText1);
final EditText editText2 = (EditText) findViewById(R.id.editText2);
final EditText editText3 = (EditText) findViewById(R.id.editText3);
final EditText editText4 = (EditText) findViewById(R.id.editText4);
Button button = (Button) findViewById(R.id.button);
Intent i = getIntent();
String valorpot1 = i.getStringExtra("valorpot1");
String valorpot12 = i.getStringExtra("valorpot12");
textView9.setText(valorpot1);
if (valorpot12.equals("Tarifas de médias utilizações")){
valorhorasponta = 0.3128;
textView10.setText(String.valueOf(valorhorasponta));
valorhorascheias = 0.1555;
textView12.setText(String.valueOf(valorhorascheias));
valorhorasvazio = 0.0862;
textView14.setText(String.valueOf(valorhorasvazio));
}
if (valorpot12.equals("Tarifas de longas utilizações")){
valorhorasponta = 0.2318;
textView10.setText(String.valueOf(valorhorasponta));
valorhorascheias = 0.1341;
textView12.setText(String.valueOf(valorhorascheias));
valorhorasvazio = 0.08;
textView14.setText(String.valueOf(valorhorasvazio));
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String valorquantponta1 = editText1.getText().toString();
int valorquantponta = Integer.parseInt(valorquantponta1);
String valorquantcheias1 = editText2.getText().toString();
int valorquantcheias = Integer.parseInt(valorquantcheias1);
String valorquantvazio1 = editText3.getText().toString();
int valorquantvazio = Integer.parseInt(valorquantvazio1);
String valorquantpot1 = editText4.getText().toString();
int valorquantpot = Integer.parseInt(valorquantpot1);
double valortotponta = valorhorasponta * valorquantponta;
double valortotcheias = valorhorascheias * valorquantcheias;
double valortotvazio = valorquantvazio * valorhorasvazio;
textView11.setText(String.valueOf(valortotponta));
textView13.setText(String.valueOf(valortotcheias));
textView15.setText(String.valueOf(valortotvazio));
}
});
}
}
對於這個「應用程序崩潰」,我們不能做太多事情。粘貼你得到的日誌請=)。 –
請張貼日誌。我的猜測是你需要將int乘以它的倍數。 –