当UI中的EditText
行获得焦点时,会启动一个DatePickerFragment
供用户输入日期。
在方向更改时,如果EditText
行具有焦点并且先前输入了日期(因此length() > 0
),我不希望自动显示片段。
是否有一种方法可以修改或添加代码,以便如果Activity是新创建的并且EditText
行具有焦点,则不会自动启动DatePickerFragment
?
是否在onResume()
中执行某些操作是一个好主意?
或者在savedInstanceState()
和!=null
方面做些什么?
public class Activity extends AppCompatActivity {
...
EditText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
...
if (hasFocus && (EditText.getText().length() == 0)) {
DatePickerFragment newFragment = new DatePickerFragment();
newFragment.show(getSupportFragmentManager(), "datePicker");
}
else if (hasFocus && (EditText.getText().length() > 0)) {
...
DatePickerFragment newFragment = new DatePickerFragment();
newFragment.show(getSupportFragmentManager(), "datePicker");
}
}
});
}