1
Я попытался запустить его на eclip, но он работает, но в студии Android он терпит неудачу. Я не могу найти решение этой проблемы. Я хочу, чтобы загрузить фотографию из openFirst(), Error openFirst()Универсальный загрузчик изображений на Android Studio
public class MidFragment extends Fragment {
// private ProgressDialog mProgressDialog;
private ImageView mImageView;
private VideoView mVideoView;
private View mView;
private DisplayImageOptions mOptions;
private ImageLoader mImageLoader;
private Context mContext;
private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener();
private ArrayList<ParseObject> objectList = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mView = inflater.inflate(R.layout.mid_fragment, container, false);
initComponent();
mContext = container.getContext();
return mView;
}
private void initComponent() {
mImageView = (ImageView)mView.findViewById(R.id.image);
mVideoView = (VideoView)mView.findViewById(R.id.video);
mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
mVideoView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
// mProgressDialog = new ProgressDialog(getActivity());
// mProgressDialog.setTitle("Please wait a moment...");
// mProgressDialog.setMessage("Loading...");
// mProgressDialog.setIndeterminate(false);
}
public void reloadData(int index){
// mProgressDialog.show();
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Data");
query.whereEqualTo("school",(Number)index);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, ParseException e) {
objectList = (ArrayList<ParseObject>) list;
// mProgressDialog.dismiss();
if (!list.isEmpty())
openFirst();
}
});
}
private void openFirst(){
mImageLoader = ImageLoader.getInstance();
mImageLoader.init(ImageLoaderConfiguration.createDefault(mContext));
mOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.build();
ParseObject parseObject = objectList.get(0);
ParseFile parseFile = parseObject.getParseFile("file");
Log.e("****************************",""+parseFile.getUrl());
if (parseObject.getNumber("type") == (Number)1){
// mVideoView.setVisibility(View.VISIBLE);
// mImageView.setVisibility(View.GONE);
// mVideoView.setVideoURI();
}else{
mVideoView.setVisibility(View.GONE);
mImageView.setVisibility(View.VISIBLE);
ImageLoader.getInstance().displayImage(parseFile.getUrl(), mImageView, mOptions, animateFirstListener);
}
}
private static class AnimateFirstDisplayListener extends SimpleImageLoadingListener {
static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>());
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
if (loadedImage != null) {
ImageView imageView = (ImageView) view;
boolean firstDisplay = !displayedImages.contains(imageUri);
if (firstDisplay) {
FadeInBitmapDisplayer.animate(imageView, 500);
displayedImages.add(imageUri);
}
}
}
}
}
Logcat
05-18 23:23:02.258 10496-10496/animuco.com.ckemi E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: animuco.com.ckemi, PID: 10496
java.lang.NullPointerException
at com.nostra13.universalimageloader.core.ImageLoaderConfiguration$Builder.<init>(ImageLoaderConfiguration.java:196)
at com.nostra13.universalimageloader.core.ImageLoaderConfiguration.createDefault(ImageLoaderConfiguration.java:127)
at animuco.com.ckemi.Fragment.MidFragment.openFirst(MidFragment.java:99)
at animuco.com.ckemi.Fragment.MidFragment.access$200(MidFragment.java:42)
at animuco.com.ckemi.Fragment.MidFragment$3.done(MidFragment.java:92)
at animuco.com.ckemi.Fragment.MidFragment$3.done(MidFragment.java:86)
at com.parse.Parse$6$1.run(Parse.java:944)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:212)
at android.app.ActivityThread.main(ActivityThread.java:5135)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
at dalvik.system.NativeStart.main(Native Method)
спасибо за вашу помощь
изменен mContext для getActivity(), но он все еще не работает – Leo
Что говорит об ошибке? – inmyth
так же, как указано выше logcat – Leo