public class zuire extends Fragment {
private TabPageIndicator indicator;
private ViewPager view_pager;
private myPageAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.zuire);
//1、查找组件
indicator = (TabPageIndicator)findViewById(R.id.tab_page_indicator);
view_pager = (ViewPager)findViewById(R.id.view_pager);
//2、组织数据,标题头的数据
List<String> title = new ArrayList<String>();
title.add("最热");
title.add("最新");
//title.add("新闻");
// title.add("输入");
// title.add("金融");
// title.add("电脑");
// title.add("汽车");
List<Fragment> title_fragment = new ArrayList<Fragment>();
title_fragment.add(new zuireFragment());
title_fragment.add(new zuixinFragment());
//3、实例化ViewPager的适配器,
adapter = new myPageAdapter(getSupportFragmentManager(),title,title_fragment);
//4、为ViewPager设置适配器
view_pager.setAdapter(adapter);
//5、为TabPageIndicator设置ViewPager,作用就是将TabPageIndicator和ViewPager关联起来
indicator.setViewPager(view_pager, 0);
}
}
这个是fragment页面,在里面写ViewPager老出错。大神能不能帮我看看,
getActivity();
public class zuire extends Fragment{
private TabPageIndicator indicator;
private ViewPager view_pager;
private myPageAdapter adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.zuire, null);
//1、查找组件
indicator = (TabPageIndicator)getActivity().findViewById(R.id.tab_page_indicator);
view_pager = (ViewPager)getActivity().findViewById(R.id.view_pager);
//2、组织数据,标题头的数据
List<String> title = new ArrayList<String>();
title.add("最热");
title.add("最新");
//title.add("新闻");
// title.add("输入");
// title.add("金融");
// title.add("电脑");
// title.add("汽车");
List<Fragment> title_fragment = new ArrayList<Fragment>();
title_fragment.add(new zuireFragment());
title_fragment.add(new zuixinFragment());
//3、实例化ViewPager的适配器,
adapter = new myPageAdapter(getFragmentManager(),title,title_fragment);
//4、为ViewPager设置适配器
view_pager.setAdapter(adapter);
//5、为TabPageIndicator设置ViewPager,作用就是将TabPageIndicator和ViewPager关联起来
indicator.setViewPager(view_pager, 0);
return view;
}
}
这是加上getActivity()之后的方法。但是运行还是会抛异常,是不是我的getActivity()加错位置了
@丫叁丫肆:
贴出异常信息看看。
@写代码的小2B:
java.lang.RuntimeException就是这个异常 这个好像没办法上传图片。不过我异常我能看懂,就是说在这个里面找不到fragment。
@丫叁丫肆:
找不到Fragment?贴完整异常信息,具体是哪一行代码报错?
@写代码的小2B: 您给我个邮箱什么的吧 我把整个写的给您看看,要是方便的话。
@写代码的小2B: 刚刚仔细看了一下,并没有说具体代码哪一行出错,
04-05 13:44:31.109: E/AndroidRuntime(11723): Caused by: android.app.Fragment$InstantiationException: Trying to instantiate a class com.example.shiji.zuire that is not a Fragment
@丫叁丫肆:
04-05 13:44:31.109: E/AndroidRuntime(11723): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.yatianxia/com.example.yatianxia.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class fragment
这个是异常
@丫叁丫肆:
看这个异常应该是你的布局文件有错。
@写代码的小2B: 这个fragment就是一个布局文件,就是这个方法错了。这是个fragment页面。在这个页面里再写一个viewpager。然而viewpager是需要继承fragmentactivity所以有点尴尬
@丫叁丫肆:
fragment是可以嵌套fragment的。
//3、实例化ViewPager的适配器,
adapter = new myPageAdapter(getFragmentManager(),title,title_fragment);
这里getFragmentManager(),换成getChildFragmentManager()
@写代码的小2B: 改过了 还是不行 这是异常
04-05 14:30:44.933: E/AndroidRuntime(13270): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.yatianxia/com.example.yatianxia.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class fragment
04-05 14:30:44.933: E/AndroidRuntime(13270): Caused by: android.app.Fragment$InstantiationException: Trying to instantiate a class com.example.shiji.zuire that is not a Fragment