[英]Retain Focus of Edit Text on Orientation Change in Android Activity and Fragment
我想在Android活動和片段中更改方向后保留編輯文本的焦點,是否有幫助嗎?例如,更改方向后,我必須保留選定編輯文本的焦點。請參見下圖。
您可以通過保存EditText
的焦點並在onResume()
重新分配焦點來實現。
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();
}
}
希望這會有所幫助。 :)
您必須由內容觀察者收聽System.ACCELEROMETER_ROTATION。
注冊內容觀察者
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
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.