将ListView更改为GridView:java.lang.NullPointerException错误 [英] Changing ListView to GridView: java.lang.NullPointerException Error

查看:115
本文介绍了将ListView更改为GridView:java.lang.NullPointerException错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello code project community!



我想要一些关于将 ListView 更改为a的帮助或建议 GridView的。自从我在 JeansActivity 中重写了我的代码的某些部分后,我在修改它时遇到了问题所以它可以使用 GridView 但它显示我 java.lang.NullPointerException 错误:



Hello code project community!

I would like some help or suggestions regarding changing my ListView to a GridView. I am having problems adapting to it ever since I have rewritten some parts of my code in my JeansActivity so it can use a GridView but its showing me a java.lang.NullPointerException error:

04-12 19:28:36.194  21114-21114/com.wlodsgn.bunbunup E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.wlodsgn.bunbunup, PID: 21114
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wlodsgn.bunbunup/com.wlodsgn.bunbunup.JeansActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2202)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252)
            at android.app.ActivityThread.access$800(ActivityThread.java:139)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5103)
            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:790)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.wlodsgn.bunbunup.JeansActivity.onCreate(JeansActivity.java:90)
            at android.app.Activity.performCreate(Activity.java:5275)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2166)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252)
            at android.app.ActivityThread.access$800(ActivityThread.java:139)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5103)
            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:790)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606)
            at dalvik.system.NativeStart.main(Native Method)





错误可能会显示在Lin下e 90是 gridView.setAdapter(适配器)



这是OnCreate方法下的完整代码:< br $> b $ b



The error might be shown under Line 90 which is gridView.setAdapter(adapter)

Here is the full code under the OnCreate method:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_jeans);

        //Back button
        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);

        // enabling action bar app icon and behaving it as toggle button
        actionBar.setLogo(R.drawable.ic_main);
        actionBar.setDisplayUseLogoEnabled(true);
        actionBar.setDisplayShowHomeEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);

        gridView = (GridView) findViewById(R.id.gridView);
        adapter = new GridAdapter(this, jeansGrid);
        gridView.setAdapter(adapter);

        pDialog = new ProgressDialog(this);
        // Showing progress dialog before making http request
        pDialog.setMessage("Cargando Productos...");
        pDialog.show();

        // changing action bar color
        getSupportActionBar().setBackgroundDrawable(
                new ColorDrawable(Color.parseColor("#1b1b1b")));



        // Creating volley request obj
        JsonArrayRequest jeansReq = new JsonArrayRequest(url,
                new Response.Listener<JSONArray>() {
                    @Override
                    public void onResponse(JSONArray response) {
                        Log.d(TAG, response.toString());
                        hidePDialog();

                        // Parsing json
                        for (int i = 0; i < response.length(); i++) {
                            try {

                                JSONObject obj = response.getJSONObject(i);
                                Jeans jeans = new Jeans();
                                jeans.setTitulo(obj.getString("titulo"));
                                jeans.setThumbnailUrl(obj.getString("image"));
                                jeans.setThumbnailUrl2(obj.getString("image2"));
                                jeans.setThumbnailUrl3(obj.getString("image3"));
                                jeans.setMarca(obj.getString("marca"));
                                jeans.setColor(obj.getString("color"));
                                jeans.setTipo(obj.getString("tipo"));
                                jeans.setRef(obj.getInt("ref"));

                                // adding jeans to jeans array
                                jeansGrid.add(jeans);

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

                        }

                        // notifying list adapter about data changes
                        // so that it renders the list view with updated data
                        adapter.notifyDataSetChanged();
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(TAG, "Error: " + error.getMessage());
                hidePDialog();

            }
        });

        // Adding request to request queue
        /**AppController.getInstance().addToRequestQueue(JeansReq);**/
        AppController.getInstance().addToRequestQueue(jeansReq);
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener(){

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                String nombre = ((TextView) view.findViewById(R.id.titulo))
                        .getText().toString();
                String brand = ((TextView) view.findViewById(R.id.marca))
                        .getText().toString();
                String color = ((TextView) view.findViewById(R.id.color))
                        .getText().toString();
                String tipo = ((TextView) view.findViewById(R.id.tipo))
                        .getText().toString();
                String ref = ((TextView) view.findViewById(R.id.ref))
                        .getText().toString();

                bitmap = ((Jeans) jeansGrid.get(position)).getThumbnailUrl();
                bitmap2 = ((Jeans) jeansGrid.get(position)).getThumbnailUrl2();
                bitmap3 = ((Jeans) jeansGrid.get(position)).getThumbnailUrl3();
                bitmapfull = ((Jeans) jeansGrid.get(position)).getThumbnailUrlFS();
                Intent intent = new Intent(JeansActivity.this, JeansDetailsActivity.class);
                intent.putExtra(Titulo, nombre);
                intent.putExtra(Marca, brand);
                intent.putExtra(Colour, color);
                intent.putExtra(Tipo, tipo);
                intent.putExtra(Referencia, ref);
                intent.putExtra("image", bitmap);
                intent.putExtra("image2", bitmap2);
                intent.putExtra("image3", bitmap3);

                startActivity(intent);
            }
        });

    }



我添加了 GridAdapter 以及GridView及其格式的布局content (activity_gridjeans.xml& grid_row.xml)



如果需要更多信息,请告诉我或你可以在 GitHub 中检查我的项目[ ^ ]



感谢帮助,



谢谢!


I have added a GridAdapter and the layouts for the GridView and its content (activity_gridjeans.xml & grid_row.xml).

If need more info, let me know or you can check my project in GitHub[^]

Appreciate the help,

Thanks!

推荐答案

800(ActivityThread.java: 139
在android.app .ActivityThread
800(ActivityThread.java:139) at android.app.ActivityThread


H.handleMessage(ActivityThread.java: 1200
at android.os.Handler.dispatchMessage( Handler.java: 102
在android.os.Looper.loop(Looper.java: 136
在android.app.ActivityThread.main(ActivityThread .java: 5103
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method。在com.android.internal.os.ZygoteInit
H.handleMessage(ActivityThread.java:1200) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5103) 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中调用(Method.java: 515
(ZygoteInit.java: 790
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 606
at dalvik.system.NativeStart.main(Native Method)
引起:java.lang.NullPointerException
at com.wlodsgn.bunbunup.JeansActivity.onCreate (JeansActivity.java: 90
在android.app.Activity.performCreate(Activity.java: 5275
在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java: 1087
在android.app.Acti vityThread.performLaunchActivity(ActivityThread.java: 2166
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 2252
在android.app.ActivityThread.access
MethodAndArgsCaller.run(ZygoteInit.java:790) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at com.wlodsgn.bunbunup.JeansActivity.onCreate(JeansActivity.java:90) at android.app.Activity.performCreate(Activity.java:5275) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2166)             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252)             at android.app.ActivityThread.access


这篇关于将ListView更改为GridView:java.lang.NullPointerException错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆