将编辑文本的焦点保留在Android活动和片段中的方向更改上
我想在Android Activity and Fragment中更改方向后保留编辑文本的焦点,有什么帮助吗?例如,更改方向后,我必须保留所选编辑文本的焦点。请参见下图将编辑文本的焦点保留在Android活动和片段中的方向更改上,android,android-edittext,Android,Android Edittext,我想在Android Activity and Fragment中更改方向后保留编辑文本的焦点,有什么帮助吗?例如,更改方向后,我必须保留所选编辑文本的焦点。请参见下图 您必须通过内容观察者收听System.Accelerator\u旋转 注册内容观察者 getContentResolver().registerContentObserver(Settings.System.getUriFor(Settings.System.ACCELEROMETER_ROTATION),true,rotati
您必须通过内容观察者收听System.Accelerator\u旋转 注册内容观察者
getContentResolver().registerContentObserver(Settings.System.getUriFor(Settings.System.ACCELEROMETER_ROTATION),true,rotationObserver );
方向更改时将调用onChange方法
private ContentObserver rotationObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
Do your task
}
}) 您可以保存
编辑文本的焦点,然后在onResume()中重新分配它
希望这有帮助。:) 你是说你想显示软键盘?你试过editText.requestFocus()
?@MisaghEmamverdi,我试过了,但没用
EditText et;
static boolean et_focus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Your code...
et=(EditText) findViewById(R.id.editText1);
et.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean focus) {
et_focus = focus;
}
});
}
@Override
protected void onResume() {
if(et_focus) {
et.requestFocus();
}
}