如何在android中解析JSONArray NullPointerException

Akshay Bhange

我想解析另一个活动传递的jsonObject

intent.putextra("result", json.toString());

它用名称,分支和会话正确显示所有内容。但它在获取数组时显示NullPointerException。在这儿

            mSubList.add(map);

该数组有6行。这是我的代码。请告诉我确切的地方,我错了。

JSONObject json;
ListView sub_list;

private JSONArray mComments = null;
private ArrayList<HashMap<String, String>> mSubList;

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

    name = (TextView)findViewById(R.id.name_roll);
    branch= (TextView)findViewById(R.id.branchname);
    session = (TextView)findViewById(R.id.Session);

    sub_list = (ListView)findViewById(R.id.sub_list);



    try {
         json = new JSONObject(getIntent().getStringExtra("result"));

        name.setText(json.getString("REGNO")+" - "+json.getString("STUDENTNAME"));
        branch.setText(json.getString("BRANCHNAME"));
        session.setText(json.getString("SESSIONNAME"));

        mComments = json.getJSONArray("DATA");

        // looping through all subjects according to the json object returned
        for (int i = 0; i < mComments.length(); i++) {
            JSONObject c = mComments.getJSONObject(i);

            // gets the content of each tag
            String code = c.getString("CCODE");
            String subject = c.getString("COURSENAME");
            String passfail = c.getString("PASSFAIL");

            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>();

            map.put("CCODE", code);
            map.put("COURSENAME", subject);
            map.put("PASSFAIL", passfail);
            // adding HashList to ArrayList
            mSubList.add(map);
        }

                ListAdapter adapter = new SimpleAdapter(this, mSubList,
                R.layout.singlesubject, new String[] { "CCODE", "COURSENAME",
                "PASSFAIL" }, new int[] { R.id.sub_id, R.id.sub_name,R.id.sub_res });

        sub_list.setAdapter(adapter);
    }catch(Exception e){
        e.printStackTrace();
    }
  }
}

如果我想更改每个listitem背景(R.layout.singlesubject),如果“ PASSFAIl” = P,则为绿色,否则为红色。那我该怎么做?

乔什·恩格斯玛(Josh Engelsma)
mSubList.add(map);

这行代码失败,因为您没有在添加映射之前初始化数组

您可以使用...进行初始化。

mSubList = new ArrayList<Hashmap<String, String>>();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android中处理NullPointerException?

来自分类Dev

Android中的layoutinflater nullpointerexception

来自分类Dev

Android中未知的NullPointerException

来自分类Dev

Android的onCreate中的NullPointerException

来自分类Dev

Android活动中的NullPointerException

来自分类Dev

Android sqlite中的NullPointerException

来自分类Dev

NullPointerException解析Jsoup

来自分类Dev

NullPointerException用于解析查询

来自分类Dev

如何在OpenCV中修复NullPointerException

来自分类Dev

创建JSONArray时发生NullPointerException

来自分类Dev

Android Camera示例NullPointerException

来自分类Dev

在ObtainView的Android ExpandableListView NullPointerException

来自分类Dev

Android nullpointerException-ListView

来自分类Dev

Android NullPointerException + GetDatabaseLocked

来自分类Dev

Android bindService抛出NullPointerException

来自分类Dev

Android RuntimeException和NullPointerException

来自分类Dev

NullPointerException at getCacheDir()android

来自分类Dev

Android MediaRecorder NullPointerException

来自分类Dev

Android / Java NullPointerException

来自分类Dev

Android BottomSheetBehavior setState()NullPointerException

来自分类Dev

分享图片Android nullPointerException

来自分类Dev

android MediaPlayer NullPointerException

来自分类Dev

Android ArrayAdapter NullPointerException getID

来自分类Dev

nullPointerException帮助(android)

来自分类Dev

Android nullpointerException-ListView

来自分类Dev

Android NullPointerException + GetDatabaseLocked

来自分类Dev

Android片段导致NullPointerException

来自分类Dev

Android:findViewById NullpointerException

来自分类Dev

Android:openFileOutput引发NullPointerException