用户完成键入后,如何在editText中选择所有文本?

问题描述

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

我该如何实现?

解决方法

您可以使用Rx的去抖动功能,

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

为您的edittext创建参考:

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) {}
});