0

エディットテキストにIntがあり、[OK]ボタンが押されると、力が閉じます。

05-07 16:00:12.945:E / AndroidRuntime(28366):java.lang.NumberFormatException:''を整数として解析できません

それは私が得ているlogcatエラーです。

コードは次のとおりです。

//Button OK

Button bOK = (Button) findViewById(R.id.bOK);
bOK.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub

        Toast invalid = Toast.makeText(getApplicationContext(), "Only values between 0-255 will be accepted.", Toast.LENGTH_LONG);
        uin = Integer.parseInt(value.getText().toString());

        if ( uin <= 255 ) {
            Process process = null;
            try {
                process = Runtime.getRuntime().exec("su");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            DataOutputStream os = new DataOutputStream(process.getOutputStream());
            try {
                os.writeBytes("chmod 644 sys/class/leds/button-backlight/brightness\n");
                os.writeBytes("echo " +uin+ " > sys/class/leds/button-backlight/brightness\n");
                os.writeBytes("chmod 444 sys/class/leds/button-backlight/brightness\n");
                os.writeBytes("exit\n");
                os.flush();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } else if ( uin > 255 ) {
            invalid.show(); 
        }
    }
});

EditText(uin missing)show toastに値が入力されておらず、強制的に閉じていないかどうかをアプリに伝えるにはどうすればよいですか?:D

私に優しくしてください、これはJavaとAndroidでの私の2週目です、私はこれまでプログラミング言語の経験をしたことがありません:)

4

4 に答える 4

1

行を囲む必要がありますuin=Integer.parseInt(value.getText()。toString()); このようなtry/catchブロックで

try {
    uin = Integer.parseInt(value.getText().toString());
} catch(NumberFormatException e){
    //do something here
}
于 2012-05-07T14:11:31.520 に答える
0

たぶん、スローされた例外をキャッチする必要があります。

try {
    uin = Integer.parseInt(value.getText().toString());
} catch (NumberFormatException exception) {
    //What to do if the exception is thrown...
    [... Your code ...] 
}
于 2012-05-07T14:13:11.213 に答える
0

editextが空であるかどうかを確認し、例外をキャッチして、目的の処理に進まないかどうかを確認します。

于 2012-05-07T14:11:18.850 に答える
0

Edittextを.xmlに設定します

android:inputType="number" 

そして、次のようなTry-catchブロックで囲んでみてください

try {
    uin = Integer.parseInt(value.getText().toString());   
} catch(Exception e) {
    e.printStackTrace();
}

uを使用e.printStackTrace();すると、この段階で発生する例外を見つけることができます。

于 2012-05-07T14:20:27.153 に答える