- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
设备进入待机状态后,如果我调用 getSupportFragmentManager()
,我会得到一个 FragmentManager
,其中包含未初始化的 fragment ,其所有变量都设置为 null
.
这里有一些代码:
this.mAdapter = new MyAdapter(getSupportFragmentManager());
this.mPager = (ViewPager) findViewById(R.id.pager);
this.mPager.setAdapter(mAdapter);
TabPageIndicator titleIndicator = (TabPageIndicator) findViewById(R.id.titles);
titleIndicator.setViewPager(mPager);
titleIndicator.setOnPageChangeListener(new OnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
mAdapter.getItem(position).onFocus();
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2)
{
}
@Override
public void onPageScrollStateChanged(int arg0)
{
}
});
这是 MyAdapter 类:
public static class MyAdapter extends FragmentStatePagerAdapter
{
ArrayList<ExtendedFragment> tabs = new ArrayList<ExtendedFragment>();
String[] titles = new String[] { "FRAG1", "FRAG2", "FRAG3", "FRAG4", "FRAG5", "FRAG6"};
public MyAdapter(FragmentManager fm)
{
super(fm);
tabs.add(new frag1());
tabs.add(new frag2());
tabs.add(new frag3());
tabs.add(new frag4());
tabs.add(new frag5());
tabs.add(new frag6());
}
@Override
public int getCount()
{
return tabs.size();
}
@Override
public ExtendedFragment getItem(int position)
{
return tabs.get(position);
}
@Override
public CharSequence getPageTitle(int position)
{
return titles[position];
}
}
ExtendedFragment
实现方法 onFocus()
,每个 fragment 都会覆盖它,因为我需要在选项卡获得焦点时执行一些操作。当我从待机状态恢复设备并且 onFocus()
被触发时,如果我尝试使用 getView()
获取 View
我会得到 空
。
为什么我的 View 是空的?
最佳答案
您可以尝试覆盖 onSaveInstanceState 方法。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
mContentFragment = getSupportFragmentManager().getFragment(
savedInstanceState, "mContent");
}
if (mContentFragment == null) {
mContentFragment = new YourFragment();
}
}
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
getSupportFragmentManager().putFragment(outState, "mContent",
mContentFragment);
}
关于android - getSupportFragmentManager() 在待机后包含空 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377828/
为什么我收到一条错误消息,显示将 getSupportFragmentManager() 更改为 getFragmentManager() googleMap = ((SupportMapFragme
我在 fragment 内使用 map fragment 。但是在 getSupportFragmentManager() 上出现错误,即无法解析 getSupportFragmentManager(
我收到错误- "Can not resolve method getSupportFragmentManager()" 在下面的代码中。 对于 getSupportFragmentManager(),
我正在尝试按照此处 map API 上的教程来制作 Android 应用程序来学习 Java。在教程中,有一个在 Main Activity 中调用的辅助类 MapInitializer。函数 ini
在主要 Activity 中我有这个 public void showTimePickerDialog(View v) { DialogFragment newFragment = new u
我正在尝试将当前 fragment 的 Intent 添加到另一个 fragment 。为此,我在卡片中的 ImageButton 上添加了一个 OnclickListener。 但它不能正常工作,我
在我的应用程序中,我有两个 Activity ,它们都有一个静态方法。我从一个单独的 Activity 中调用这些方法。问题是在我的静态方法中我无法访问 getSupportFragmentManag
我有一个扩展 SherlockActivity 的主要 Activity 下面的代码似乎给我带来了麻烦 PopularFragment fragment = new PopularFragment()
点击抽屉导航项目后,我尝试使用 TabBar 和 View Pager 显示新 fragment 。 问题是新创建的 Fragment 导致 NULL 指针异常 viewPager.setAdapte
我收到以下错误:“方法 getSupportFragmentManager() 在我的 fragment 文件中未定义类型 new View.OnClickListener(){}”下面。 我有通过
我将 ViewPager 作为 RecyclerView 中的第一项。我想将 FragmentStatePagerAdapter 设置为 viewpager在 onBindViewHolder() 方
我想在我的 Android 应用程序中显示 Google map : public class DisplayMapActivity extends ActionBarActivity { p
设备进入待机状态后,如果我调用 getSupportFragmentManager(),我会得到一个 FragmentManager,其中包含未初始化的 fragment ,其所有变量都设置为 nul
这是我的 ItemAdapter 的代码,我以这种方式将其用作列表的适配器。 list.setAdapter(new ItemAdapter(thisContext,imageUrl)); 我正在尝试
这个问题在这里已经有了答案: What is difference between getSupportFragmentManager() and getChildFragmentManager()
我正在开发一个 android 应用程序,我想保存我在矢量 fragment 中的 fragment 。当我在 onSaveIstanceState 中使用 putFragment 时,系统抛出 Il
最近我在 android studios 中启动了一个新项目,并遇到了一个错误,我无法真正找到或看到问题所在,当我的应用程序遇到 getSupportFragmentManager() 行时,它崩溃了
我在 getSupportFragmentManager() 上遇到错误“此方法在 Fragment 中未定义”,同时创建带有滑动选项卡的 slider 菜单我准备了如下代码.. public cla
我正在使用 viewpager 并编译 API 23。我在我的代码中显示以下语句的编译错误,但该项目确实可以编译。 List fragments = getSupportFragmentManager
我正在使用 Android 编程中的教程编写我的第一个使用 fragment 的应用程序:Big Nerd Ranch 指南。 我创建了一个 fragment 和一个相应的布局,现在我想向将使用它的父
我是一名优秀的程序员,十分优秀!