android - 我如何处理方向更改以使 fragment 无法加载?

标签 android android-fragments android-datepicker

当 UI 中的 EditText 行获得焦点时,将启动一个 DatePickerFragment 以供用户输入日期。

方向改变时,如果 EditText 行有焦点和之前输入的日期(这样 length() > 0)我不希望 fragment 自动展示。

有没有办法修改或添加代码,以便在新创建 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");
    }
 }
});
}

最佳答案

您是使用 viewPager 还是只是将 fragment 添加到您的 Activity 中?一种方法是将您希望在轮换时保持的数据保存到 onSaveInstanceState(Bundle outState) 包中,然后使用

在 onCreate 中恢复该数据
 if(savedInstanceState != null) {
   //get your data
 }

或者仅在加载 Activity 时添加您的 fragment (设备旋转后不重新加载)

if(savedInstanceState == null) 
{
    mFragmentManager = getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();

    YourFragment fragment = new YourFragment();

    fragmentTransaction.add(R.id.fragment_container, fragment);
    fragmentTransaction.commit();
}

无论如何你一定要检查thisthis问题,它们可能会有所帮助。

关于android - 我如何处理方向更改以使 fragment 无法加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32902389/

相关文章:

android - 亚马逊应用商店和安卓授权 LVL

android - fragment 从后台消失

java - 如何从 MaterialDatePicker 获取日期?

android - 如何计算用户通过android studio中的datepicker输入的两个日期之间的天数

java - 返回上一页时 Android 应用程序中的服务连接泄漏

android - 每当我更改一个 Kotlin 文件中的每个函数时,都会获取 "Conflicting overloads"

Android Fragments 和后退按钮问题

java - 方法需要对象并从扩展类中查找对象

android - 仅在日期选择器 android 中更改所选日期的颜色

Android:如何将 TextVIew 的最大宽度设置为屏幕尺寸的比率?