将 Focusable 设置为 false 后,EditText 无法取回焦点
EditText cannot get focus back after set Focusable to false
我将 EditText
的 Focusable
设置为 false
,然后将其设置回 true
。但是它无法重新获得焦点。
public void onClick(View v) {
if (et.isFocusable()){
et.setFocusable(false);
} else {
et.setFocusable(true);
}
}
当您声明一个组件不可聚焦时,系统会将焦点分配给下一个可聚焦组件作为副作用。使组件再次可聚焦并不能消除副作用,所以你必须让它发生。
确保调用组件的 requestFocus() 方法。
在这种情况下,您应该再次请求焦点:
public void onClick(View v) {
if (et.isFocusable()){
et.setFocusable(false);
}else {
et.setFocusable(true);
et.requestFocus();
}
}
我将 EditText
的 Focusable
设置为 false
,然后将其设置回 true
。但是它无法重新获得焦点。
public void onClick(View v) {
if (et.isFocusable()){
et.setFocusable(false);
} else {
et.setFocusable(true);
}
}
当您声明一个组件不可聚焦时,系统会将焦点分配给下一个可聚焦组件作为副作用。使组件再次可聚焦并不能消除副作用,所以你必须让它发生。
确保调用组件的 requestFocus() 方法。
在这种情况下,您应该再次请求焦点:
public void onClick(View v) {
if (et.isFocusable()){
et.setFocusable(false);
}else {
et.setFocusable(true);
et.requestFocus();
}
}