将焦点设置为按钮

Dan*_*ray 5 java user-interface android focus button

如何将焦点设置为按钮但不将setFocusableInTouchMode设置为true?

我第一次尝试这个:

button.requestFocus();
Run Code Online (Sandbox Code Playgroud)

这根本行不通.然后我尝试了这个:

button.setFocusableInTouchMode(true);
button.requestFocus();
Run Code Online (Sandbox Code Playgroud)

问题是,它突出了按钮.我不希望按钮在触摸模式下突出显示.我只想在用户点击回车键或Tab键时选择按钮.

为了澄清,我只是希望第一个按钮在不处于触摸模式时以焦点开始.

Dan*_*ray 0

这样就完美解决了问题:

layout.getViewTreeObserver().addOnTouchModeChangeListener(new ViewTreeObserver.OnTouchModeChangeListener()
{
    public void onTouchModeChanged(boolean isInTouchMode)
    {
        if (!isInTouchMode)
            button.requestFocus();
    }
});
Run Code Online (Sandbox Code Playgroud)