gpt4 book ai didi

java - 在 fragment 中使用网络 ImageView - android studio

转载 作者:太空宇宙 更新时间:2023-11-04 14:09:28 25 4
gpt4 key购买 nike

我正在尝试使用 volley 库下载 fragment 中的图像。但我无法修复错误:

public static class ViewFragment extends Fragment {

ImageLoader mImageLoader;
NetworkImageView mNetworkImageView;
private static String IMAGE_URL =
"http://meteo.profi-net.sk/webcams/BIELAPUT-l.jpg";

public ViewFragment() {
// Required empty public constructor
}

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

// Get the NetworkImageView that will display the image.
mNetworkImageView = (NetworkImageView) getView().findViewById(R.id.networkImageView);

// Get the ImageLoader through your singleton class.
mImageLoader = VolleySingleton.getInstance(this).getImageLoader(); //!!!!!! HERE IS THE ERROR

// Set the URL of the image that should be loaded into this view, and
// specify the ImageLoader that will be used to make the request.
mNetworkImageView.setImageUrl(IMAGE_URL, mImageLoader);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_camera_view, container, false);
}


}

getInstance(this) 被标记为错误,但我不知道如何更改它。如果我在某些 Activity 中编写完全相同的代码,它就会起作用。

有人可以解释一下如何在 fragment 中使用 NetworkImageView 吗?

最佳答案

getInstance 需要一个 Context 作为参数,Fragment 不是,但 Activity 是。Fragment可以通过调用getActivity方法来访问其持有的Activity。您应该在每次调用之前检查 fragment 是否仍附加到其 Activity ,否则您将崩溃

所以你可以这样做:

if(isAdded())
{
.......... your code ..............
// Get the ImageLoader through your singleton class.
mImageLoader = VolleySingleton.getInstance(getActivity()).getImageLoader();
.......... your code ..............
}

关于java - 在 fragment 中使用网络 ImageView - android studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28503210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com