Có thể đặt tiêu điểm cho tiện ích con nút nằm ở đâu đó trong bố cục của tôi không? onCreate
của hoạt động mà kiểm soát/tiêu điểm của tôi phải nằm trên nút đó theo lập trình.Làm cách nào để đặt tiêu điểm cho tiện ích con nút theo lập trình?
66
A
Trả lời
156
Có thể.
Button myBtn = (Button)findViewById(R.id.myButtonId);
myBtn.requestFocus();
hoặc trong XML
<Button ...><requestFocus /></Button>
Lưu ý quan trọng: Nút phụ tùng cần phải được focusable
vàfocusableInTouchMode
. Hầu hết các tiện ích con là focusable
nhưng không theo mặc định là focusableInTouchMode
. Vì vậy, hãy chắc chắn hoặc thiết lập nó trong mã
myBtn.setFocusableInTouchMode(true);
hoặc trong XML
android:focusableInTouchMode="true"
Tôi cố gắng nó trong phương thức onCreate nhưng nó không làm việc. Tôi đang tạo các nút động và thêm các nút trong LinearLayout. Bất kỳ ai có thể vui lòng giúp tôi không? –
nó không làm việc cho tôi. Tôi có một EditView trong trang của tôi luôn luôn được tập trung. – breceivemail
Thật đáng buồn khi thấy câu trả lời này nhận được số lượng upvotes vô lý khi, trong khi danh nghĩa "đúng", nó bỏ qua đề cập đến việc thường gọi phương thức setFocusable (true) và có thể setFocusableInTouchMode (true) của Button trước đó nó sẽ hoạt động. Mặc dù chúng có thể được đặt từ xml, nhưng chúng có thể phải được đặt lại nếu nút đã từng được tạo không tập trung. –