在android应用程序中设置初始焦点

在我的android应用程序中,它自动将我的布局中的第一个button对焦,并给它一个橙色轮廓。 我怎么能设置最初的重点最好在XML中,这可以设置为什么?

你可以使用requestFocus标签:

 <Button ...> <requestFocus /> </Button> 

我觉得奇怪的是,它会自动聚焦你的button之一,我没有观察到我的任何观点的行为。

有人在某个地方,我尝试了所有的上述无济于事。 我find的修复是从http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android 。 基本上,你需要在有问题的button之上创build一个不可见的布局:

 <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(); 

这有帮助