私は自分のedittextが空ではないことを確認するために使用したい次のコードを持っています。edittextが空でないようにします。
package your.test.two;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class TesttwoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText edtxt = (EditText)findViewById(R.id.editText1);
// if I don't add the following the app crashes (obviously):
edtxt.setText("0");
edtxt.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
update();
}
});
}
public void update() {
EditText edittxt = (EditText)findViewById(R.id.editText1);
Integer i = Integer.parseInt(edittxt.getText().toString());
// If i is an empty value, app crashes so if I erase the zero
//on the phone and change focus, the app crashes
}
}
私はupdate()メソッドで次のように試してみました:
だから、最初に描かれた0(ゼロ)は、ここでは、フォーカスの変更は、アプリはこれまでのところであるとき、それは0に戻す必要があります削除された場合String str = edittxt.getText().toString();
if (str == "") {
edittxt.setText("0");
}
しかし、動作しません。エディットテキストがemtyにならないようにするにはどうすればいいですか?空の場合はゼロに戻しますが、値が存在する場合は戻しません。私は既にedittextが数値だけを許可できることを確認しました。
ありがとうございました!これはうまくいった。 – Anomaly
この問題が発生した場合は、 'equals()'と '=='の違いについてお読みください。 @Christian:この問題は基本がOPのために不明であることを示唆するので、多分説明のもう少しがいいだろう:) – WarrenFaith