我在 aFragmentActivity
的第一个选项卡中有 a TabHost
,FragmentActivity
它本身包含 a ViewPager
。
的方法用一组ViewPager
s设置 a 。目标是在.setAdapter()
FragmentPagerAdapter
Fragment
TabHost
为了测试它,我加载了一堆我在项目drawable
目录中本地保存的图像。一切都很顺利。
在测试了这个初始设置之后,我正在从 REST Web 服务下载一堆图像 URL。我希望这些图像在 中延迟加载,我尝试在三个地方ViewPager
调用 Picasso 的方法:load()
s的
onCreateView()
方法(与我之前从本地目录加载图像的位置相同)。ViewPager
Fragment
drawable
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View myFragmentView = inflater.inflate(R.layout.layout_fragment, container, false); ImageView imageView = (ImageView)getView().findViewById(R.id.fragment_image); String url = getArguments().getString(IMAGE_RESOURCE_URL); Context context = getActivity(); Picasso.with(context).load(url).fit().into(imageView); return myFragmentView; }
的
onViewCreated()
方法。ViewPager
_Fragment
@Override public void onViewCreated(View view, Bundle savedInstanceState){ Context context = getActivity(); String url = getArguments().getString(IMAGE_RESOURCE_URL); ImageView imageView = (ImageView)view.findViewById(R.id.fragment_image); Picasso.with(context).load(url).fit().into(imageView); }
的
onInstantiateItem()
方法FragmentPagerAdapter
。@Override public Object instantiateItem(ViewGroup container, int position) { View v = inflater.inflate(R.layout.layout_fragment, container, false); Context context = Tab1Activity.this; String url = getItem(position).getArguments().getString("IMAGE_RESOURCE_URL"); ImageView imageView = (ImageView)v.findViewById(R.id.fragment_image); Picasso.with(context).load(url).fit().into(imageView); return v; }
这些方法都不起作用。我知道毕加索不是问题,因为前几天我尝试在 a 中使用毕加索,ListView
它就像一个魅力。我究竟做错了什么 ?