java.lang.NullPointerException:storage==null

java.lang.NullPointerException:storage==null,java,android,json,nullpointerexception,android-volley,Java,Android,Json,Nullpointerexception,Android Volley,当我想在列表视图中打开已勾选的项目时。我收到错误消息: java.lang.NullPointerException:storage==null 我使用截取库进行http请求。这里我发出请求,并使用另一个类来转换数组中的json public class Tips extends AppCompatActivity { private SQLiteDatabase db; public static final String INFORMATION_TIPS = "http://www.myd

当我想在列表视图中打开已勾选的项目时。我收到错误消息:

java.lang.NullPointerException:storage==null

我使用截取库进行http请求。这里我发出请求,并使用另一个类来转换数组中的json

public class Tips extends AppCompatActivity {

private SQLiteDatabase db;
public static final String INFORMATION_TIPS = "http://www.mydomainname/login/api.php?action=getTips";
public final String TIP = "tip";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tips);
    setTitle("Tips");
    populateListView();
    ListView tipsView = (ListView) findViewById(R.id.tipsView);
    tipsView.setOnItemClickListener(
            new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    String tip = String.valueOf(parent.getItemAtPosition(position));
                    //userData data = new userData(db);
                    try {
                    tipsViewPost(tip);
                    Intent singleTipIntent = new Intent(Tips.this,singleTip.class);
                    startActivity(singleTipIntent);
                    }
                    catch (Exception ex)
                    {
                        Toast.makeText(Tips.this, ex.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
                    }

                }
            }
    );
}

private void populateListView()
{
    try {
        //lijst van items
        String[] tips = {"Hoofd", "knie"};

        //adapter maken
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, tips);

        //list koppelen aan adapter
        ListView list = (ListView) findViewById(R.id.tipsView);
        list.setAdapter(adapter);
    }
    catch(Exception ex)
    {
        Toast.makeText(Tips.this, ex.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
    }
}

public void tipsViewPost(String tipView) {
    final String tip = tipView;
    try {
        StringRequest stringRequest = new StringRequest(Request.Method.POST, INFORMATION_TIPS,
                new Response.Listener<String>() {
                    @Override
                    public boolean onResponse(String response) throws JSONException {
                        setTipsJson(response,tip);
                        return true;
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public boolean onErrorResponse(VolleyError error) {
                        try {
                            Toast.makeText(Tips.this, error.getMessage(), Toast.LENGTH_LONG).show();
                            return false;
                        }
                        catch(Exception ex)
                        {
                            Toast.makeText(Tips.this, ex.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
                        }
                        return false;
                    }
                }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> map = new HashMap<String, String>();
                map.put(TIP, tip);
                return map;
            }
        };
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    } catch (Exception ex) {
        Toast.makeText(Tips.this, ex.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
    }
}

protected void setTipsJson(String json,String tip)
{
    try {
        parseJSON pj = new parseJSON(json);
        pj.parseTips(tip);
    }
    catch(Exception ex)
    {
        Toast.makeText(Tips.this, ex.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
    }
}
//line20 ArrayAdapter adapter=新的ArrayAdapter(//line20(这是android.R.layout.simple\u list\u item\u 1,parseJSON.injunts)


您能否在stacktrace中共享
singleTip
类的代码(
位于com.example.mydomain.fysio.singleTip.populateListView(singleTip.java:20)
),并指向一些注释行20@RC我已经完成了!请查看我的编辑。显然我的数组是空的,但为什么?请移动
Intent singleTipIntent=new Intent(Tips.this,singleTip.class);startActivity(singleTipIntent);
into
onResponse
inside
public-void-tipsViewPost(String-tipView)
你真是太棒了!现在它可以工作了!谢谢你,但这又有什么关系呢?
  public static String[] injuries;
  private JSONArray tipsJson = null;

      protected  void parseTips(String injurie) {
        JSONObject jsonObject = null;
        String value = "naam";
        try {
            jsonObject = new JSONObject(json);
            tipsJson = jsonObject.getJSONArray(injurie);

            injuries = new String[tipsJson.length()];

            for (int i = 0; i < tipsJson.length(); i++) {
                JSONObject jo = tipsJson.getJSONObject(i);
                injuries[i] = jo.getString(value);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
package com.example.mydomain.fysio;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class singleTip extends AppCompatActivity {

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

    public void populateListView()
    {
        //adapter maken
        //list koppelen aan adapter
        ListView list = (ListView) findViewById(R.id.singleTip);
        list.setAdapter(adapter);
    }
}