Tôi có mã sau mà tôi muốn sử dụng để đảm bảo rằng văn bản của tôi sẽ không trống. Vì vậy, nếu là người đầu tiên rút ra 0 (zero) được lấy ra nó phải trở về 0 khi thay đổi tập trung, đây là ứng dụng cho đến nay:Ngăn không cho văn bản bị trống
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
}
}
Tôi đã thử những điều sau đây trong bản cập nhật() phương pháp:
String str = edittxt.getText().toString();
if (str == "") {
edittxt.setText("0");
}
Nhưng nó không hoạt động. Làm thế nào tôi có thể cho phép các edittext không bao giờ được emty, trở lại số không khi trống nhưng không phải khi một giá trị tồn tại. Tôi đã chắc chắn rằng edittext chỉ có thể cho phép các giá trị số.
Cảm ơn bạn rất nhiều! Điều này làm việc. – Anomaly
Nếu bạn vấp ngã khi vấn đề này, bạn nên đọc về sự khác biệt giữa 'equals()' và '=='. @Christian: có lẽ một chút giải thích sẽ là tốt đẹp, vì vấn đề này cho thấy rằng những điều cơ bản là không rõ ràng cho OP :) – WarrenFaith