如何通过编程将焦点设置到按钮小部件?


Answers:


190

是的,有可能。

Button myBtn = (Button)findViewById(R.id.myButtonId);
myBtn.requestFocus();

或XML

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

重要说明:按钮小部件必须为focusable focusableInTouchMode。大多数窗口小部件都是默认设置,focusable但不是focusableInTouchMode默认设置。因此,请确保在代码中进行设置

myBtn.setFocusableInTouchMode(true);

或XML

android:focusableInTouchMode="true"

我在onCreate方法中尝试了它,但是它不起作用。我正在动态创建按钮,并在LinearLayout中添加按钮。有人可以帮我吗?
Manoj Kumar

6
它对我不起作用。我的页面中始终有一个EditView,它总是得到关注。
Bobs

4

试试这个:

btn.requestFocusFromTouch();
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.