【发布时间】:2015-08-05 10:37:19
【问题描述】:
我有一个显示带有远程图像的图像滑块的片段(我使用了 AndroidImageSlider 库)。在 OnCreateView 我做一个凌空请求,我得到图像的 url。问题是 volley 是 异步 并且滑块得到 NUllPointerException 因为 OnCreateView 不等待带有 url 的响应。
如何加载片段并告诉滑块等待 url?
这是一个只有一张图片的代码示例(为了简洁起见)。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_apartment, container, false);
getApartmentData(); // volley request. It set the image_url field
// image slider
imgSlider = (SliderLayout) view.findViewById(R.id.img_slider);
imgSlider.stopAutoCycle();
HashMap<String,String> url_maps = new HashMap<String, String>();
url_maps.put("name1", image_url);
for(String name : url_maps.keySet()){
DefaultSliderView defaultSliderView = new DefaultSliderView(getActivity());
defaultSliderView
.image(url_maps.get(name))
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(this);
imgSlider.addSlider(defaultSliderView);
}
imgSlider.setPresetTransformer(SliderLayout.Transformer.Default);
imgSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
imgSlider.setDuration(4000);
imgSlider.addOnPageChangeListener(this);
}
【问题讨论】:
-
放置有问题的代码
-
@krishna-v 代码已发布。
标签: android asynchronous android-volley