如果文本字段包含“\r”/回车 return,则单击按钮
Clicking a Button if a text field contains "\r" / carriage return
我对 Android 开发完全陌生,我找到了一个我正在学习的例子。
我想执行按钮单击,或者在这种情况下:onClickDone
当 \r
/ 回车 return 在 inputTitle 文本框中时。
函数在
/app/src/main/java/com/hazmirulafiq/androidsqlitedatabasedemo/AddItem.java
文件
这是来源:Code
有没有简单的方法可以做到这一点?
或者有人可以帮我上路吗?
非常感谢
我认为更改 if/else 语句可以解决问题。
其实一个空的TextBox在没有文字的时候就是空的,没错。
但是如果你尝试在 getText()
之后使用字符串方法 contains('\n);
呢?
public void onClickDone(View view) {
String myInputTitle = inputTitle.getText().toString();
String myInputDesc = inputDesc.getText().toString();
if (myInputTitle.isEmpty() || myInputDesc.isEmpty() || !myInputTitle.getText().toString().contains('\n')) {
Snackbar.make(view, "Please fill in both form!",
Snackbar.LENGTH_SHORT).show();
} else {
dbManager.insert(myInputTitle, myInputDesc);
Intent intent = new Intent(AddItem.this,
MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
}
我想您可能正在寻找 TextWatcher。您可以将其分配给 EditText:
inputTitle.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String str = s.toString();
if(str.length() > 0 && str.charAt(str.length() - 1) == '\n') {
//Run the onClick code here
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
我对 Android 开发完全陌生,我找到了一个我正在学习的例子。
我想执行按钮单击,或者在这种情况下:onClickDone
当 \r
/ 回车 return 在 inputTitle 文本框中时。
函数在
/app/src/main/java/com/hazmirulafiq/androidsqlitedatabasedemo/AddItem.java
文件
这是来源:Code
有没有简单的方法可以做到这一点? 或者有人可以帮我上路吗?
非常感谢
我认为更改 if/else 语句可以解决问题。
其实一个空的TextBox在没有文字的时候就是空的,没错。
但是如果你尝试在 getText()
之后使用字符串方法 contains('\n);
呢?
public void onClickDone(View view) {
String myInputTitle = inputTitle.getText().toString();
String myInputDesc = inputDesc.getText().toString();
if (myInputTitle.isEmpty() || myInputDesc.isEmpty() || !myInputTitle.getText().toString().contains('\n')) {
Snackbar.make(view, "Please fill in both form!",
Snackbar.LENGTH_SHORT).show();
} else {
dbManager.insert(myInputTitle, myInputDesc);
Intent intent = new Intent(AddItem.this,
MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
}
我想您可能正在寻找 TextWatcher。您可以将其分配给 EditText:
inputTitle.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String str = s.toString();
if(str.length() > 0 && str.charAt(str.length() - 1) == '\n') {
//Run the onClick code here
}
}
@Override
public void afterTextChanged(Editable s) {
}
});