我是Android編程的新手,我遇到了編程基本應用程序的問題。該應用程序應該計算課程考試所需的標記,以獲得課程中的某個標記(這不是一個家庭作業問題,而只是我正在研究的內容)。具體來說,我無法找到一種方法來在textView小部件中顯示計算結果。我已經在下面發佈了我的代碼。另一方面,我的應用程序在啓動時也會立即崩潰,所以如果你發現任何可疑的東西,那真的會有幫助。謝謝!我如何讓Android Studio在textView中顯示計算的值
更新:感謝hai hack,我的應用程序現在可以正常打開。但是,點擊按鈕後它仍然崩潰。我有更新我的代碼和logcat的顯示所做的更改
MainActivity:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Button;
import static com.managergmail.time.finite.finitemanager02.R.id.calculateButton;
import static com.managergmail.time.finite.finitemanager02.R.id.textViewExamMarkNeeded;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button buttonCalculate = (Button) findViewById(R.id.buttonCalculate);
buttonCalculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText currentGradeInput = (EditText) findViewById(R.id.currentGradeInput);
float currentGradeValue = Float.valueOf(currentGradeInput.getText().toString());
//obtaining value of currentGrade inputted by the user and converting to float
EditText desiredGradeInput = (EditText) findViewById(R.id.desiredGradeInput);
float desiredGradeValue = Float.valueOf(desiredGradeInput.getText().toString());
//obtaining value of currentGrade inputted by the user and converting to float
EditText examWeightInput = (EditText) findViewById(R.id.examWeightInput);
float examWeightValue = Float.valueOf(examWeightInput.getText().toString());
//obtaining value of currentGrade inputted by the user and converting to float
float currentGradeWeight = 100-examWeightValue;
//calculating current grade weight
final float examMarkNeededValue;
examMarkNeededValue= ((100*desiredGradeValue)-currentGradeValue*currentGradeWeight)/examWeightValue;
textViewExamMarkNeeded.setText((Float.toString(examMarkNeededValue)));
}
});
}
}
XML代碼:
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
<TextView
android:id="@+id/textView"
android:layout_width="180dp"
android:layout_height="45dp"
android:text="@string/input_the_weighting_of_your_exam"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.078"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.356" />
<TextView
android:id="@+id/textView2"
android:layout_width="180dp"
android:layout_height="45dp"
android:text="@string/input_your_desired_grade"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.078"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.19" />
<TextView
android:id="@+id/textViewExamMarkNeeded"
android:layout_width="265dp"
android:layout_height="64dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.662"
app:layout_constraintHorizontal_bias="0.378" />
<TextView
android:layout_width="180dp"
android:layout_height="45dp"
android:text="@string/input_your_current_grade"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.073"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.034"
android:id="@+id/textView3" />
<EditText
android:id="@+id/currentGradeInput"
android:layout_width="0dp"
android:layout_height="0dp"
android:ems="10"
android:inputType="numberDecimal"
tools:layout_constraintTop_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintBottom_creator="1"
android:layout_marginStart="17dp"
app:layout_constraintBottom_toBottomOf="@+id/textView3"
android:layout_marginEnd="33dp"
app:layout_constraintRight_toRightOf="parent"
tools:layout_constraintLeft_creator="1"
app:layout_constraintTop_toTopOf="@+id/textView3"
app:layout_constraintLeft_toRightOf="@+id/textView3" />
<EditText
android:id="@+id/desiredGradeInput"
android:layout_width="133dp"
android:layout_height="31dp"
android:ems="10"
android:inputType="numberDecimal"
tools:layout_constraintTop_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintBottom_creator="1"
app:layout_constraintBottom_toTopOf="@+id/examWeightInput"
android:layout_marginEnd="33dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="44dp"
app:layout_constraintTop_toBottomOf="@+id/currentGradeInput"
android:layout_marginBottom="42dp" />
<EditText
android:id="@+id/examWeightInput"
android:layout_width="0dp"
android:layout_height="33dp"
android:ems="10"
android:inputType="numberDecimal"
tools:layout_constraintTop_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintBottom_creator="1"
app:layout_constraintBottom_toTopOf="@+id/calculateButton"
android:layout_marginStart="2dp"
android:layout_marginEnd="2dp"
app:layout_constraintRight_toRightOf="@+id/desiredGradeInput"
android:layout_marginTop="12dp"
tools:layout_constraintLeft_creator="1"
android:layout_marginBottom="19dp"
app:layout_constraintLeft_toLeftOf="@+id/desiredGradeInput"
app:layout_constraintTop_toTopOf="@+id/textView" />
<Button
android:id="@+id/buttonCalculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="17dp"
android:layout_marginEnd="7dp"
android:onClick="onButtonClick"
android:text="@string/calculate"
app:layout_constraintBottom_toTopOf="@+id/textViewExamMarkNeeded"
app:layout_constraintRight_toRightOf="@+id/textViewExamMarkNeeded"
tools:layout_constraintBottom_creator="1"
tools:layout_constraintRight_creator="1" />
logcat的
12-17 21:14:05.840 18312-18312/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.managergmail.time.finite.finitemanager02, PID: 18312
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.managergmail.time.finite.finitemanager02/com.managergmail.time.finite.finitemanager02.MainActivity}: java.lang.NumberFormatException: Invalid float: ""
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2581)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2647)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5763)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
Caused by: java.lang.NumberFormatException: Invalid float: ""
at java.lang.StringToReal.invalidReal(StringToReal.java:63)
at java.lang.StringToReal.parseFloat(StringToReal.java:308)
at java.lang.Float.parseFloat(Float.java:306)
at java.lang.Float.valueOf(Float.java:343)
at com.managergmail.time.finite.finitemanager02.MainActivity.onCreate(MainActivity.java:20)
at android.app.Activity.performCreate(Activity.java:6280)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1116)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2534)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2647)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5763)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
你的應用程序發生了哪些崩潰?你可以包括錯誤logcat? –
我添加了logcat。看起來浮動值存在問題,但我不知道如何解決它 –
所以你想要動態地進行計算或只需要點擊提交按鈕來完成計算? –