[英]Add two negative numbers using TextWatcher
我絕對是初學者。 我將添加兩個負數並使用 TextWatcher 顯示結果。 當我嘗試編輯第二個(負數)數字時,應用程序崩潰了。 我不知道問題出在哪里。 主要活動 java 代碼是...
package com.example.addnegativnumbers;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText Number1, Number2;
TextView Result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Number1 = findViewById(R.id.Number1);
Number2 = findViewById(R.id.Number2);
Result = findViewById(R.id.Result);
TextWatcher textWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if (!Number1.getText().toString().equals("") && !Number2.getText().toString().equals("")) {
int temp1 = Integer.parseInt(Number1.getText().toString());
int temp2 = Integer.parseInt(Number2.getText().toString());
Result.setText(String.valueOf(temp1 + temp2));
}
;
}
@Override
public void afterTextChanged(Editable editable) {
}
};
Number1.addTextChangedListener(textWatcher);
Number2.addTextChangedListener(textWatcher);
}
}...
activity_main.xml 的一部分:
<EditText
android:id="@+id/Number1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="40dp"
android:layout_marginTop="40dp"
android:ems="10"
android:hint="Enter number 1"
android:inputType="numberSigned|textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/Number2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:ems="10"
android:hint="Enter number 2"
android:inputType="numberSigned|textPersonName"
app:layout_constraintStart_toStartOf="@+id/Number1"
app:layout_constraintTop_toBottomOf="@+id/Number1" />
Logcat 的一部分
2022-03-17 06:55:26.959 21618-21618/com.example.addnegativnumbers E/InputEventSender: Exception dispatching finished signal.
2022-03-17 06:55:26.960 21618-21618/com.example.addnegativnumbers E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
2022-03-17 06:55:26.968 21618-21618/com.example.addnegativnumbers E/MessageQueue-JNI: java.lang.NumberFormatException: For input string: "-"
at java.lang.Integer.parseInt(Integer.java:513)
at java.lang.Integer.parseInt(Integer.java:556)
at com.example.addnegativnumbers.MainActivity$1.onTextChanged(MainActivity.java:39)
第 39 行是:
int temp2 = Integer.parseInt(Number2.getText().toString());
問題是字符串“-”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.