如果文本字段包含“\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) {

        }
    });