edittext フィールド (数値入力) が空白の場合のエラー処理に問題があります。だから私が欲しいのは、編集テキストの値を文字列に格納することです。値が "" でない場合は、整数に変換していくつかの操作を実行します。ただし、整数行に変換する前でもアプリは停止します。助言がありますか?これが私のコードです:
bConfirm.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
//number input edit field
etInputValue = etInput.getText().toString();
if (etInputValue.equals("")){
AlertDialog.Builder inpte = new AlertDialog.Builder(ManualInputActivity.this);
inpte.setTitle("Error");
inpte
.setMessage("Please Fill in all Fields")
.setCancelable(false)
.setNegativeButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id1) {
// TODO Auto-generated method stub
dialog.cancel();
Intent i4 = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i4);
}
});
AlertDialog inptDia = inpte.create();
inptDia.show();
}
else{//Do some calculations}
ログキャット:
10-21 21:18:00.725: E/AndroidRuntime(1025): FATAL EXCEPTION: main
10-21 21:18:00.725: E/AndroidRuntime(1025): java.lang.NumberFormatException: Invalid int: ""
10-21 21:18:00.725: E/AndroidRuntime(1025): at java.lang.Integer.invalidInt(Integer.java:138)
10-21 21:18:00.725: E/AndroidRuntime(1025): at java.lang.Integer.parseInt(Integer.java:359)
10-21 21:18:00.725: E/AndroidRuntime(1025): at java.lang.Integer.parseInt(Integer.java:332)
10-21 21:18:00.725: E/AndroidRuntime(1025): at java.lang.Integer.valueOf(Integer.java:490)
10-21 21:18:00.725: E/AndroidRuntime(1025): at com.diatrack.app.ManualInputActivity$2.onClick(ManualInputActivity.java:97)
10-21 21:18:00.725: E/AndroidRuntime(1025): at android.view.View.performClick(View.java:4084)
10-21 21:18:00.725: E/AndroidRuntime(1025): at android.view.View$PerformClick.run(View.java:16966)
10-21 21:18:00.725: E/AndroidRuntime(1025): at android.os.Handler.handleCallback(Handler.java:615)
10-21 21:18:00.725: E/AndroidRuntime(1025): at android.os.Handler.dispatchMessage(Handler.java:92)
10-21 21:18:00.725: E/AndroidRuntime(1025): at android.os.Looper.loop(Looper.java:137)
10-21 21:18:00.725: E/AndroidRuntime(1025): at android.app.ActivityThread.main(ActivityThread.java:4745)
10-21 21:18:00.725: E/AndroidRuntime(1025): at java.lang.reflect.Method.invokeNative(Native Method)
10-21 21:18:00.725: E/AndroidRuntime(1025): at java.lang.reflect.Method.invoke(Method.java:511)
10-21 21:18:00.725: E/AndroidRuntime(1025): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-21 21:18:00.725: E/AndroidRuntime(1025): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-21 21:18:00.725: E/AndroidRuntime(1025): at dalvik.system.NativeStart.main(Native Method)