我希望在Android活动和片段中改变方向后保留编辑文本的焦点,有任何帮助来实现这一目标吗?,例如在更改方向后,我必须保留所选编辑文本的焦点。请参阅下面的图片。
答案 0 :(得分:1)
您可以通过保存EditText
的焦点来完成此操作,然后在onResume()
中重新分配。{p>
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();
}
}
希望这有帮助。 :)
答案 1 :(得分:0)
您必须由内容观察员收听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
}
};