簡體   English   中英

保持編輯文本在Android活動和片段方向變化方面的關注

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM