Androidアプリケーションでは、レイアウト内の最初のボタンに自動的にフォーカスを当て、オレンジ色のアウトラインを付けます。できればXMLで初期フォーカスを設定するにはどうすればよいですか?これを何にも設定できませんか?
requestFocus
タグを使用できます。
<Button ...>
<requestFocus />
</Button>
あなたのボタンの1つをオートフォーカスするのは奇妙ですが、私はどのビューでもその動作を観察していません。
@Someone Somewhere、私は上記のすべてを役に立たなかった。私が見つけた修正は http://www.helloandroid.com/tutorials/remove-autofocus-edittext-Android からです。基本的に、問題のあるボタンのすぐ上に非表示のレイアウトを作成する必要があります。
<LinearLayout Android:focusable="true"
Android:focusableInTouchMode="true"
Android:layout_width="0px"
Android:layout_height="0px" >
<requestFocus />
</LinearLayout>
:focusable
と:focusableInTouchMode
の両方をtrueに設定し、requestFocus
を呼び出します。トリックを行います。
これが私に最適だと思いました。
AndroidManifest.xmlで<activity> element
を追加Android:windowSoftInputMode="stateHidden"
これにより、アクティビティに入るときにキーボードが常に非表示になります。
次のコード行をonCreate()
に追加するだけです。
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
問題が解決しました。
以下のコードを使用して、
TableRow _tableRow =(TableRow)findViewById(R.id.tableRowMainBody);
tableRow.requestFocus();
それは動作するはずです。
@Someoneどこかでこれを使ってフォーカスをクリアしました:
editText.clearFocus();
そしてそれは役立ちます