[英]Checking/Storing inputs from EditTexts(Android/Java)
我正在嘗試用Java學習android,但我陷入了困境。 這是我從EditText字段獲取值的方法。
public void sendFeedback(View button) {
System.out.println("Do not fail");
final EditText nameField = (EditText) findViewById(R.id.Name);
String name = nameField.getText().toString();
final EditText numberField = (EditText) findViewById(R.id.Cost);
String test=numberField.getText().toString();
Integer x = Integer.parseInt(test.trim());
System.out.println(x);
System.out.println(name);
}
這是按鈕的xml。
<Button
android:id="@+id/ButtonSendFeedback"
android:layout_height="wrap_content"
android:text="Submit"
android:onClick="sendFeedback"
android:layout_width="fill_parent">
</Button>
我想做的是跟隨。 如果有人離開EditText Null或在numberfield中輸入非整數值,我想在android中顯示,但System.out.println()不會顯示任何內容。 如果前一種情況沒有發生,我想將變量保存到本地數據庫。 我怎樣才能做到這一點?
嘗試這樣的事情:
public void sendFeedback(View button) {
Toast.makeText(this, "Do not fail", Toast.LENGTH_SHORT).show();
final EditText nameField = (EditText) findViewById(R.id.Name);
if(nameField != null) {
String name = nameField.getText().toString();
if (!name.isEmpty()) {
Toast.makeText(this, "Name: " + name, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Namefield is empty!" , Toast.LENGTH_SHORT).show();
}
}
final EditText numberField = (EditText) findViewById(R.id.Cost);
if(numberField != null) {
String test = numberField.getText().toString();
if(!test.isEmpty()) {
int x = Integer.parseInt(test.trim());
Toast.makeText(this, "Cost: " + x, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "You haven't entered a number", Toast.LENGTH_SHORT).show();
}
}
}
System.out.println
將消息記錄到console
。 因此,您不能使用它在UI
顯示錯誤。 要在Android
顯示錯誤,您應該使用以下命令:
System.out.println()打印到控制台。 嘗試使用Toast通知用戶無效輸入
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.