Java 使用EditText.setText(值)时停止刷新我的键盘
下面是我用rxandroid编辑的文本。问题是,当我删除搜索框中的某些字符“\\”和setText时,键盘会刷新。因此,它使我的键盘切换回字母表(图1),而我想保留数字和特殊字符(图2)。有没有办法在不刷新页面的情况下设置EditText文本Java 使用EditText.setText(值)时停止刷新我的键盘,java,android,android-edittext,Java,Android,Android Edittext,下面是我用rxandroid编辑的文本。问题是,当我删除搜索框中的某些字符“\\”和setText时,键盘会刷新。因此,它使我的键盘切换回字母表(图1),而我想保留数字和特殊字符(图2)。有没有办法在不刷新页面的情况下设置EditText文本 SearchEditText = RxTextView.textChanges(searchbox) .map(CharSequence::toString) .debounce(2, Ti
SearchEditText = RxTextView.textChanges(searchbox)
.map(CharSequence::toString)
.debounce(2, TimeUnit.SECONDS)
.distinctUntilChanged()
//.observeOn(Schedulers.computation()) // can test without this
//.switchMap(RegrexAndActualNumberHelper::TrySearchValidation) // can test without this
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
// searchbox.setText(result); // settext make the page refresh and reset the keyboard to alphabets
searchbox.setSelection(searchbox.getText().length()); // move the cursor b to end of the line.
if( !result.isEmpty() ){
getInventoryItems(view, searchbox, recycler);
}
});
我找到了这种行为的快速解决方法。我使用“searchbox.getText().clear();”和“searchbox.append(result);”来代替setText。瞧,它工作了,屏幕永远不会刷新,键盘保持在原来的位置。我从这个stackoverflow问题中得到了这个想法。我找到了这种行为的快速修复方法。我使用“searchbox.getText().clear();”和“searchbox.append(result);”来代替setText。瞧,它工作了,屏幕永远不会刷新,键盘保持在原来的位置。我从这个stackoverflow问题中得到了这个想法。