package com.example.fragmentNavigation2.fragment;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.fragmentNavigation2.R;
import com.viewpagerindicator.TabPageIndicator; import java.lang.reflect.Field; public class AddressFragment extends Fragment { private static final String[] CONTENT = new String[]{"协会简介", "矿业新闻", "活动与交流", "会员中心"};
private FragmentManager fragmentManager;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreate(savedInstanceState); fragmentManager = getChildFragmentManager();
final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), com.viewpagerindicator.R.style.Theme_PageIndicatorDefaults);
// clone the inflater using the ContextThemeWrapper
LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper);
View view = localInflater.inflate(R.layout.simple_tabs, container, false); FragmentPagerAdapter adapter = new FragmentPagerAdapter(fragmentManager) { @Override
public Fragment getItem(int position) {
return TestFragment.newInstance(CONTENT[position % CONTENT.length]);
} @Override
public CharSequence getPageTitle(int position) {
return CONTENT[position % CONTENT.length].toUpperCase();
} @Override
public int getCount() {
return CONTENT.length;
}
}; ViewPager pager = (ViewPager) view.findViewById(R.id.pager);
pager.setAdapter(adapter); TabPageIndicator indicator = (TabPageIndicator) view.findViewById(R.id.indicator);
indicator.setViewPager(pager);
indicator.setFillViewport(true);
return view;
} /**
* 这段可以解决fragment嵌套fragment会崩溃的问题
*/
@Override
public void onDetach() {
super.onDetach();
try {
//参数是固定写法
Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");
childFragmentManager.setAccessible(true);
childFragmentManager.set(this, null);
} catch (NoSuchFieldException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
}

解决方案为红色部分,获取fragmentManager时要用getChildFragmentManager()这个方法。

还要重写onDetach方法,照着红色部分写。

android fragment嵌套fragment出现的问题:no activity的更多相关文章

  1. Android FragmentActivity 嵌套 Fragment 调用startActivityForResult返回的requestCode错误

    Android FragmentActivity 嵌套 Fragment 调用startActivityForResult返回的requestCode错误 此时,要在调用startActivityFo ...

  2. Android 中关于Fragment嵌套Fragment的问题

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5802146.html 问题描述: 在项目中Activity A中嵌套Fragment B,Fragment ...

  3. Fragment嵌套Fragment实现的Tab导航

    要实现的效果就是底部导航,具体到每一个Fragment又在上部设置一个导航条,分成两个Fragment实现.效果图是: 首先给出activity的layout: <android.support ...

  4. Fragment 嵌套Fragment注意事项

    最近项目新功能需要在垂直方方向可以循环滚动,并且水平方向也可以水平循环滚动,并且可以定位到指定item上.很自然的想到了ViewPager和 VerticalViewPager来解决项目需求,UI的大 ...

  5. Fragment嵌套Fragment时候。子类fragment调用父容器Fragment方法

    业务场景:有的时候我们的页面可能是Activity 嵌套多个Fragment ..其中某个Fragment 又嵌套多个Fragment. 其中某个子Fragment  定义为  NewsFragmen ...

  6. Fragment嵌套Fragment时遇到的那些坑

    由于项目要改成MVP模式,自然会用到了Fragment,有时候可能会需要一个Fragment里面嵌套多个Fragment,并且add完成后需要立即刷新子Fragment的View,那么这个时候就会抛出 ...

  7. 浅谈Android Fragment嵌套使用存在的一些BUG以及解决方法

    时间 2014-03-18 18:00:55 eoe博客 原文  http://my.eoe.cn/916054/archive/24053.html 主题 安卓开发 自从Android3.0引入了F ...

  8. 关于Fragment里面嵌套fragment

    今天看到一篇好文章 https://www.2cto.com/kf/201609/545979.html 转载过来记录一下,往后需要的时候可以随时查看: 接下来进入正题: 动态fragment的使用 ...

  9. Fragment嵌套

    当我们从一个Activity启动了一个Fragment,然后在这个Fragment中又去实例化了一些子Fragment,在子Fragment中去有返回的启动了另外一个Activity,即通过start ...

随机推荐

  1. MySQL 에서 root 암호 변경하기

    먼저 터미널이나 SSH를 이용해 접속합니다. 그리고 리눅스 쉘상에서 다음과 같이 입력합니다. [mysqladmin을 이용한 암호변경] 형식) root계정]$mysqladmin -u ...

  2. asp.net网页中上传并且浏览pdf文件的实现

    本文主要讲解在asp.net中的gridview中浏览pdf文件.下面来看一下具体的实现: 第一步,使用sqlserver 创建一个数据库表. 第二步,新建一个webform,命名为uploadpdf ...

  3. c#转义字符串中的所有正则特殊字符

    /// <summary> /// 转义字符串中所有正则特殊字符 /// </summary> /// <param name="input"> ...

  4. 轮子来袭 vJine.Core Orm 之 04_使用进阶

    1.配置文件: 框架默认情况下支持"connectionStrings"的配置方式,如<轮子来袭 vJine.Core Orm 之 01_快速入门>所述: 框架的进阶设 ...

  5. Java实战之02Hibernate-07与效率性能相关配置

    十四.其他HIbernate配置(与效率,性能相关) 1.数据库连接池 Hibernate有默认的连接池,性能有问题,不适合实际应用,适合学习阶段.DriverManagerConnectionPro ...

  6. MySQL5.7 linux二进制安装

    200 ? "200px" : this.width)!important;} --> 介绍 MySQL5.7出来也有大半年了,业内也一直在宣传5.7有多么的N,官网的也是宣 ...

  7. PL/SQL Developer不安装客户端连接远程oracle数据库(转)

    1.下载敏捷客户端InstantClient(40M左右,选择适合自己的下载,我的是instantclient-basic-win32-11.2.0.1.0.zip ):http://www.orac ...

  8. ajax、json一些整理(3)

    写上面那些都是因为对ajax不熟悉 从w3c抄写JS原生ajax的东西补充一些基础 XMLHttpRequest 是 AJAX 的基础. XMLHttpRequest 对象 所有现代浏览器均支持 XM ...

  9. Express框架学习总结

    最近学了Express框架,在学习的过程中,参考了一些资料,感觉Express框架比原生Node.js好用多了.下面我将我学习总结的内容如下: Express中文网     http://www.ex ...

  10. WCF学习笔记(基于REST规则方式)

    一.WCF的定义 WCF是.NET 3.0后开始引入的新技术,意为基于windows平台的通讯服务. 首先在学习WCF之前,我们也知道他其实是加强版的一个面向服务(SOA)的框架技术. 如果熟悉Web ...