java - Android java.lang.NullPointerException 无法填充 ListView

标签 java android json eclipse listview

我正在尝试使用 json 中的一些数据填充 ListView 。

以下是我收到的错误:

04-17 12:54:25.573: E/JSON Parser(1169): Error parsing data org.json.JSONException:
of type org.json.JSONArray cannot be converted to JSONObject
04-17 12:54:26.223: E/AndroidRuntime(1169): FATAL EXCEPTION: main
04-17 12:54:26.223: E/AndroidRuntime(1169): Process: com.example.mysqltest, PID: 1169
04-17 12:54:26.223: E/AndroidRuntime(1169): java.lang.NullPointerException
04-17 12:54:26.223: E/AndroidRuntime(1169): at com.example.mysqltest.PropertyView$JSONParseP.onPostExecute(PropertyView.java:95)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at com.example.mysqltest.PropertyView$JSONParseP.onPostExecute(PropertyView.java:1)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at android.os.AsyncTask.finish(AsyncTask.java:632)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at android.os.AsyncTask.access$600(AsyncTask.java:177)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at android.os.Handler.dispatchMessage(Handler.java:102)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at android.os.Looper.loop(Looper.java:136)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at android.app.ActivityThread.main(ActivityThread.java:5017)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at java.lang.reflect.Method.invokeNative(Native Method)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at java.lang.reflect.Method.invoke(Method.java:515)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-17 12:54:26.223: E/AndroidRuntime(1169):     at dalvik.system.NativeStart.main(Native Method)

这是我的 Java 文件...

  JSONArray array = null


      public void onClick(View view) 
             new JSONParseP().execute()

    private class JSONParseP extends AsyncTask<String, String, JSONObject>

        protected JSONObject doInBackground(String... args)
        JSONParserP jParser = new JSONParserP();
        // Getting JSON from URL
        JSONObject json = jParser.getJSONFromUrlP(url);
        return json;

         protected void onPostExecute(JSONObject json) 
         pDialog.dismiss();
         try {
            // Getting JSON Array from URL
             array = json.getJSONArray(null);
            for(int i = 0; i < array.length(); i++){
            JSONObject c = array.getJSONObject(i);

任何帮助我都会非常感激。

谢谢。

最佳答案

尝试将 JSONObject c = array.getJSONObject(i); 更改为 JSONArray c = array.getJSONArray(i);

关于java - Android java.lang.NullPointerException 无法填充 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23139364/

相关文章:

java - 如何在另一个 JPanel 之上创建 JPanel 或任何 JComponent 作为覆盖层或上层

java - 无法在 Android 中登录 OpenERP

java - JPA 事务和触发器/计划作业可能发生冲突

android - Jetpack Compose 和 Room DB : Performance overhead of auto-saving user input?

jQuery 访问 JSON 对象

java - 使用 Jackson 自定义 POJO 序列化

php - 是否有可以突出显示 PHP 标签的文本/代码编辑器?

android - Dagger2 - 在运行时定义/更新对象的值

javascript - backbone 从外部 json 填充集合

c# - 在默认构造函数中初始化的 JSON.Net 集合未被反序列化的 JSON 覆盖