5

setFocusableInTouchMode を true に設定せずにボタンにフォーカスを設定するにはどうすればよいですか?

私は最初にこれを試しました:

button.requestFocus();

それは単に機能しません。次に、これを試しました:

button.setFocusableInTouchMode(true);
button.requestFocus();

問題は、ボタンを強調表示することです。タッチモードでボタンを強調表示したくありません。ユーザーがEnterキーまたはTabキーを押したときにボタンを選択したいだけです。

明確にするために、タッチモードでないときに最初のボタンにフォーカスを合わせて開始したいだけです。

4

2 に答える 2

0

これは問題を完全に解決します:

layout.getViewTreeObserver().addOnTouchModeChangeListener(new ViewTreeObserver.OnTouchModeChangeListener()
{
    public void onTouchModeChanged(boolean isInTouchMode)
    {
        if (!isInTouchMode)
            button.requestFocus();
    }
});
于 2013-08-06T01:36:49.587 に答える