我有下面的代碼,我想用它來確保我的edittext不會是空的。因此,如果第一次繪製0(零)被刪除,必須恢復到0時,焦點的變化,這是應用程序至今:防止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
}
}
我曾嘗試在更新的以下()方法:
String str = edittxt.getText().toString();
if (str == "") {
edittxt.setText("0");
}
但它不起作用。我怎樣才能讓edittext永遠不會是空的,當空的時候回覆爲零,但是當值存在的時候沒有回覆到空。我已經確保edittext只能允許數值。
非常感謝!這工作。 – Anomaly 2011-12-27 17:05:10
如果你偶然發現這個問題,你應該閱讀關於'equals()'和'=='之間的區別。 @克里斯蒂安:也許更多的解釋將是很好的,因爲這個問題表明基礎知識不清楚的OP :) – WarrenFaith 2011-12-27 17:40:43