public void closeWriteDiary(FragmentManager fragmentManager, Fragment fragment) { ActivityUtils.removeFragmentTOActivity(fragmentManager, fragment); ActivityUtils.addFragmentToActivity(fragmentManager, new DiariesFragment(), R.id.content); }
时间: 2024-01-06 07:06:43 浏览: 69
这段代码的作用是关闭一个写日记的页面(即移除该页面所对应的Fragment),并且在Activity中添加一个日记列表的页面(即DiariesFragment)。这个方法需要传入FragmentManager和要关闭的Fragment实例。具体实现可以参考ActivityUtils类的removeFragmentTOActivity和addFragmentToActivity方法。
相关问题
public AddDiaryController(@NonNull AddDiaryFragment addDiaryFragment) { diaryHelper = DiaryHelper.getInstance(YyApplication.get()); mView = addDiaryFragment; mView.setHasOptionsMenu(true); } public void addDiaryToRepository(String title, String desc,String time, String emo) { if (title.isEmpty() || desc.isEmpty()) { showMessage(YyApplication.get().getString(R.string.add_failed)); return; } diaryHelper.insert(title, desc,time,emo); showMessage(YyApplication.get().getString(R.string.add_success)); } private void showMessage(String message) { Toast.makeText(mView.getContext(), message, Toast.LENGTH_SHORT).show(); } public void closeWriteDiary(FragmentManager fragmentManager, Fragment fragment) { ActivityUtils.removeFragmentTOActivity(fragmentManager, fragment); ActivityUtils.addFragmentToActivity(fragmentManager, new DiariesFragment(), R.id.content); } public void setNavigationVisibility() { View navigation_bottom = mView.getActivity().findViewById(R.id.navigation_bottom); if (navigation_bottom.getVisibility() != View.VISIBLE) { navigation_bottom.setVisibility(View.VISIBLE); } } public void changeFocus(View view) { view.setFocusable(true); view.setFocusableInTouchMode(true); if (!view.requestFocus()) { Log.e(TAG, "changeFocus: Error!"); return; } if (view instanceof EditText) { InputMethodManager imm = (InputMethodManager) YyApplication.get().getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(view, 0); } }
这是一个用于添加日记的控制器,它包含了以下几个方法:
1. 构造函数:接受一个 AddDiaryFragment 参数,并初始化 DiaryHelper 和 mView。
2. addDiaryToRepository():将传入的日记标题、描述、时间和情绪插入到 DiaryHelper 中,并显示添加成功或添加失败的提示信息。
3. showMessage():显示 Toast 消息。
4. closeWriteDiary():将当前 Fragment 从 FragmentManager 中移除,并添加 DiariesFragment。
5. setNavigationVisibility():设置底部导航栏可见性。
6. changeFocus():设置 View 的聚焦状态,并弹出软键盘(如果 View 是 EditText)。
public CityFragmentPagerAdapter(FragmentManager fragmentManager, List<Fragment> fragments) { super(fragmentManager, getLifecycle()); this.fragmentList = fragments; }中getLifecycle爆红怎么改
`getLifecycle()` 是 `FragmentPagerAdapter` 中的一个方法,但是它需要在 `Fragment` 内部调用。在 `CityFragmentPagerAdapter` 中,您可以通过将 `Fragment` 的 `Lifecycle` 对象传递给 `super` 构造函数来解决此问题。因此,您可以将 `getLifecycle()` 替换为 `fragment.getLifecycle()`,如下所示:
```
public CityFragmentPagerAdapter(FragmentManager fragmentManager, List<Fragment> fragments) {
super(fragmentManager, fragments.get(0).getLifecycle());
this.fragmentList = fragments;
}
```
这将使用第一个 `Fragment` 的 `Lifecycle` 对象来初始化 `CityFragmentPagerAdapter`。
阅读全文