如何以编程方式将焦点设置为按钮小部件?

Vin*_*tti 78 android android-widget android-button

是否可以将焦点设置为位于布局中某处的按钮小部件?onCreate我的控件/焦点应该以编程方式在该按钮上的活动.

Pen*_*m10 182

是的,这是可能的.

Button myBtn = (Button)findViewById(R.id.myButtonId);
myBtn.requestFocus();
Run Code Online (Sandbox Code Playgroud)

或者用XML

<Button ...><requestFocus /></Button>
Run Code Online (Sandbox Code Playgroud)

重要说明:按钮小部件需要focusable focusableInTouchMode.大多数小部件是默认情况下focusable但不是focusableInTouchMode.因此,请确保在代码中设置它

myBtn.setFocusableInTouchMode(true);
Run Code Online (Sandbox Code Playgroud)

或者用XML

android:focusableInTouchMode="true"
Run Code Online (Sandbox Code Playgroud)

  • 它不适合我.我的页面中有一个EditView,它总能得到关注. (6认同)

小智 6

尝试这个:

btn.requestFocusFromTouch();
Run Code Online (Sandbox Code Playgroud)