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布局。但真的不知道是什么让目标为空。
答
您确定正确的布局正在充气吗?尝试调试并在充气后查看rootView。当你调用你的newInstance方法时,你是否可能包含错误的布局ID?
请包含您的welcome_fragment布局 –
您确定'rootView.findViewById(R.id.imgView_Background)'不会返回null吗? –