Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:GridView图像';来自json的_Android_Url_Gridview_Imageview - Fatal编程技术网

Android:GridView图像';来自json的

Android:GridView图像';来自json的,android,url,gridview,imageview,Android,Url,Gridview,Imageview,我在将ImageView转换为GridView时遇到问题,我解析JSON,然后从JSON中获取url,并将其放到我的ImageView转换为GridView中,我遇到了一个错误,您能帮助我吗 LogCat FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gazetaimage/com.gazetaimage.MainActivity}: java.lang.N

我在将ImageView转换为GridView时遇到问题,我解析JSON,然后从JSON中获取url,并将其放到我的ImageView转换为GridView中,我遇到了一个错误,您能帮助我吗

LogCat

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gazetaimage/com.gazetaimage.MainActivity}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2359)
    at android.app.ActivityThread.access$600(ActivityThread.java:153)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5202)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
    at com.gazetaimage.ImageAdapter.<init>(ImageAdapter.java:37)
    at com.gazetaimage.MainActivity.onCreate(MainActivity.java:17)
    at android.app.Activity.performCreate(Activity.java:5106)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2263)
    ... 11 more
致命异常:main
java.lang.RuntimeException:无法启动活动组件信息{com.gazetaimage/com.gazetaimage.MainActivity}:java.lang.NullPointerException
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2359)
在android.app.ActivityThread.access上$600(ActivityThread.java:153)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:137)
位于android.app.ActivityThread.main(ActivityThread.java:5202)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:511)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
在dalvik.system.NativeStart.main(本机方法)
原因:java.lang.NullPointerException
在com.gazetaimage.ImageAdapter上。(ImageAdapter.java:37)
位于com.gazetaimage.MainActivity.onCreate(MainActivity.java:17)
位于android.app.Activity.performCreate(Activity.java:5106)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2263)上
... 还有11个
和我的代码在我的AsyncTask中,我连接到我的JSON文件,并返回JSONObject,在ImageAdapter.class中,我获取该对象,并将其放入ImageView中

public class ImageAdapter extends BaseAdapter {

    public Context mContext;

    public String[] mThumbs;

    final static String TAG_ITEM = "item";
    final static String TAG_BIG_IMAGE = "big_image";

    public ImageAdapter (Context c){
        mContext = c;
        BackTask task = new BackTask();
        task.execute();

            try {

                JSONObject result = task.get();
                JSONArray jarray = result.getJSONArray(TAG_ITEM);
                for(int i = 0; i < jarray.length(); i++){
                    JSONObject jrss = jarray.getJSONObject(i);

                    mThumbs[i] = jrss.getString(TAG_BIG_IMAGE);
                }

            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (ExecutionException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                e.printStackTrace();
            }
    }


    @Override
    public int getCount() {
        return mThumbs.length;
    }

    @Override
    public Object getItem(int position) {
        return mThumbs[position];
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {     

            ImageView imageView;
            if (convertView == null) { 
                imageView = new ImageView(mContext);
                imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(8, 8, 8, 8);
            } else {
                 imageView = (ImageView) convertView;
            }

            imageView.setImageURI(Uri.parse(mThumbs[position]));

            return imageView;
    }
公共类ImageAdapter扩展了BaseAdapter{
公共语境;
公共字符串[]mThumbs;
最终静态字符串标记\ u ITEM=“ITEM”;
最后一个静态字符串TAG\u BIG\u IMAGE=“BIG\u IMAGE”;
公共图像适配器(上下文c){
mContext=c;
BackTask任务=新建BackTask();
task.execute();
试一试{
JSONObject result=task.get();
JSONArray jarray=result.getJSONArray(标记项);
for(int i=0;i
您似乎还没有初始化
mThubs

在循环JSON数组之前,请放置以下行:

mThumbs = new String[jarray.length()];

我相信您的空指针异常是由mThumbs没有初始化引起的。 检查适配器中的第37行