Picasso:java.lang.IllegalArgumentException:目标不能为空

问题描述:

我使用ViewPager显示欢迎,注册和其他一些屏幕。这些屏幕是由FragmentStatePagerAdapter控制片段:Picasso:java.lang.IllegalArgumentException:目标不能为空

private static class TourPagerAdapter extends FragmentStatePagerAdapter { 
     public TourPagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      WellcomeTourFragment ta = null; 
      switch (position) { 
       case 0: 
        ta = WellcomeTourFragment.newInstance(R.layout.welcome_fragment); 
        break; 
       case 1: 
        ta = WellcomeTourFragment.newInstance(R.layout.signup_fragment); 
        break; 

第一片段(WellcomeFragment)显示使用毕加索库从网上下载了一些看法和背景图片:

private ImageView bkgImage; 

    public static WellcomeTourFragment newInstance(int layoutId){ 
      WellcomeTourFragment pane = new WellcomeTourFragment(); 
      Bundle args = new Bundle(); 
      args.putInt(LAYOUT_ID, layoutId); 
      pane.setArguments(args); 
      return pane; 
     } 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
      final ViewGroup rootView = (ViewGroup) inflater.inflate(getArguments().getInt(LAYOUT_ID, -1), container, false); 
      this.bkgImage = (ImageView) rootView.findViewById(R.id.imgView_Background); 
      return rootView; 
     } 

     @Override 
     public void onViewCreated(View view, Bundle savedInstanceState) { 
      super.onViewCreated(view, savedInstanceState); 
      Picasso.with(getActivity()) 
        .load(IMG_uRL) 
        .into(this.bkgImage); 
     } 

这里我的问题是,我得到

java.lang.IllegalArgumentException:目标不能为空。

我确定ImageView确实退出了我的welcome_fragment布局。但真的不知道是什么让目标为空。

+0

请包含您的welcome_fragment布局 –

+0

您确定'rootView.findViewById(R.id.imgView_Background)'不会返回null吗? –

您确定正确的布局正在充气吗?尝试调试并在充气后查看rootView。当你调用你的newInstance方法时,你是否可能包含错误的布局ID?