如何在用户完成输入后 select editText 中的所有文本?

How do I select all the text in an editText after the user is finished typing in it?

我有一个 EditText,里面有一些虚拟文本。当用户完成输入时,我希望能够选择所有文本。

我怎样才能做到这一点?

你可以使用 Rx 的 debounce 来做到这一点,

    RxTextView.textChanges(editText)
        .debounce(3, TimeUnit.SECONDS)
        .subscribe { textChanged: CharSequence? ->
            Log.d(
                "TAG",
                "Stopped typing!"
            )
            editText.selectAll()
        }

为您的编辑文本创建一个引用:

EditText editText = (EditText) findViewById(/* edittext id */);

在其上附加一个文本更改监听器:

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void afterTextChanged(Editable s) { 
        //get your final string here 
        String str = s.toString();
    }

    @Override
    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {}

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {}
});