Fragment和Activity中调用一些方法的区别

  1. findViewById()函数
    程序运行的时候在 Banner banner = view.findViewById(R.id.banner_adver); 这一句报了空指针异常的error。一般用findViewById()都是在Activity的OnCreate()方法里面,而在Fragment中使用findViewById()时候需要创建Fragment的View对象,然后调用View对象的findViewById()方法
    public View view;
    view = inflater.inflate(R.layout.fragment_home, container, false);
    private void initBanner() {
        ArrayList<Integer> imagPath = new ArrayList<>();
        //获取资源id
        Banner banner = view.findViewById(R.id.banner_adver);
  1. SimpleAdapter()
    SimpleAdapter(Context context, data, int resource, String[] from, int[] to);
    第一个参数是上下文,一般在Activity中context使用this指针,但是在Fragment中会报错。在这里插入图片描述
    改成这样写就可以了:
 adapter=new SimpleAdapter(getActivity(), dataList, R.layout.item_channel, from, to);

因为getActivity()可以获取活动页面的上下文

  1. Intent()
    和上一个一样的原因,原本this指针要用getActivity()获取活动页面的上下文

之前用Viewpager+Fragment实现页面切换,结果因为Fragment的问题进度停了好几天… 还是太菜了啊
感觉改bug这种事一定要有耐心有信心( •᷄⌓•᷅ )੨੨ 之前觉得改不出的时候看一天也不知道错在哪儿,觉得改的出的时候一两小时就改完了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值