我试图在我的应用中应用有关对讲的辅助功能。
我想在用户选择ImageButton
时将焦点更改为EditText
(自定义键盘布局)。
这是我的代码摘要。
edittext.setAccessibilityDelegate(new View.AccessibilityDelegate() {
@Override
public void sendAccessibilityEvent(View host, int eventType) {
if (eventType == AccessibilityEvent.TYPE_VIEW_FOCUSED || eventType == AccessibilityEvent.TYPE_VIEW_CLICKED) {
btn.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
}
}
});
我为TYPE_VIEW_CLICKED
和TYPE_VIEW_FOCUSED
设置了条件,因为当用户双击EditText
时,状态可能已经聚焦。
但是,如果eventType为TYPE_VIEW_CLICKED
,则按钮不仅会以可访问性为焦点,还会导致按钮单击事件。
我只想设置焦点。
我该如何解决这个问题?
答案 0 :(得分:0)
选项1
在onCreate()
editText.requestFocus();
选项2 -选项1的扩展
if(editText.requestFocus()) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
选项3 -如果选项1和2都不起作用
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);