2014-12-04 101 views
-1

即时通讯尝试从一个URL的内容加载到一个片段的列表视图,但每次我得到一个NullPointerException和我真的不知道我做错了什么。我希望你能帮助我,指出我的错误:NullPointerException通过加载JSON内容凌空

public class Neuigkeiten extends Fragment 
{ 
    // Neuigkeiten URL 
public static final String neuigkeitenURL = //my URL 
// Log tag 
private static final String TAG = Neuigkeiten.class.getSimpleName(); 
private ProgressDialog progress; 
private List<NeuigkeitenBean> neuigkeitenListe = new ArrayList<NeuigkeitenBean>(); 
private ListView listView; 
private CustomListAdapter adapter; 

@Override 
public View onCreateView(LayoutInflater inflater , ViewGroup container , 
     Bundle savedInstanceState) 
{ 
    View neuigkeitenView = inflater.inflate(R.layout.listmainview , 
      container , false); 
    progress = new ProgressDialog(getActivity()); 
    listView = (ListView) neuigkeitenView.findViewById(R.id.list); 
    adapter = new CustomListAdapter(this , neuigkeitenListe); 
    listView.setAdapter(adapter); 
    // hole die SharedPreferences 
    final SharedPreferences sharedPf = PreferenceManager 
      .getDefaultSharedPreferences(getActivity().getBaseContext()); 
    // hole die Datenbank, die nachher zum Server geschickt werden muss 
    String datenbank = sharedPf.getString("Datenbank" , ""); 

    //POST Parameter 
    JSONObject parameter = new JSONObject(); 
    try 
    { 
     parameter.put("datenbank" , datenbank); 
    } 
    catch (JSONException je) 
    { 
     //wenn das hier auf die Fresse fliegt breche alles ab; 
     je.printStackTrace(); 
    } 

    JsonObjectRequest jsonAntwort = new JsonObjectRequest(Method.POST , 
      neuigkeitenURL , parameter , new Response.Listener<JSONObject>() 
      { 

       @Override 
       public void onResponse(JSONObject response) 
       { 
        Log.d(TAG , response.toString()); 
        progress.hide(); 

        // Parsing json 
        for (int i = 0; i < response.length(); i++) 
        { 
         try 
         { 
          NeuigkeitenBean neuigkeitenBean = new NeuigkeitenBean(); 
          neuigkeitenBean.setUeberschrift(response.getString("head")); 
          neuigkeitenBean.setText((response.getString("content"))); 
          neuigkeitenBean.setBild(response.getString("image")); 

          // Bean zur Liste hinzufügen 
          neuigkeitenListe.add(neuigkeitenBean); 

         } 
         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) 
       { 
        error.printStackTrace(); 
        VolleyLog.d(TAG , "Error: " + error.getMessage()); 
        progress.dismiss(); 

       } 
      }); 
    NeuigkeitenHelper.getInstance().addToRequestQueue(jsonAntwort); 

    return neuigkeitenView; 
} 
} 

堆栈跟踪:

12-04 19:22:49.256: E/AndroidRuntime(4335): java.lang.NullPointerException 
    12-04 19:22:49.256: E/AndroidRuntime(4335): at    com.sits.activitys.Neuigkeiten.onCreateView(Neuigkeiten.java:114) 
    12-04 19:22:49.256: E/AndroidRuntime(4335): at  android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) 
    12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) 
    12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 
    12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 
    12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467) 
    12-04 19:22:49.256: E/AndroidRuntime(4335): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472) 
    12-04 19:22:49.256: E/AndroidRuntime(4335): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 
    12-04 19:22:49.256: E/AndroidRuntime(4335): at android.support.v4.view.ViewPager.populate(ViewPager.java:1068) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.support.v4.view.ViewPager.populate(ViewPager.java:914) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.View.measure(View.java:16497) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.View.measure(View.java:16497) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:327) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.View.measure(View.java:16497) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.View.measure(View.java:16497) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1912) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1109) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1291) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.Choreographer.doCallbacks(Choreographer.java:574) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.Choreographer.doFrame(Choreographer.java:544) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.os.Handler.handleCallback(Handler.java:733) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.os.Handler.dispatchMessage(Handler.java:95) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.os.Looper.loop(Looper.java:136) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at android.app.ActivityThread.main(ActivityThread.java:5001) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at java.lang.reflect.Method.invoke(Method.java:515) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at  com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
12-04 19:22:49.256: E/AndroidRuntime(4335):  at dalvik.system.NativeStart.main(Native Method) 

变量jsonAntwort是空的,但是我相信,该PARAMS是正确的....行114:

NeuigkeitenHelper.getInstance().addToRequestQueue(jsonAntwort); 
+2

附上您的堆栈跟踪,并显示在错误发生。 – mkobit 2014-12-04 19:23:08

+0

'NeuigkeitenHelper.getInstance()'为空。 你应该检查这个变量。你能解释一下这个变量实际上在做什么吗? – Anatol 2014-12-04 19:36:12

回答

-1

如果NeuigkeitenHelper扩展应用程序,请在您的Manifest中检查一次。那么你应该在Manifest的Application标签中使用这个类。

Exapmle:

<application 
    android:name="package.YourApplicationClass" <-------- 
    android:allowBackup="true" 
    android:debuggable="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="xyz" 
    android:screenOrientation="landscape" 
    android:theme="@style/AppTheme"> 
+0

为什么?为什么'NeuigkeitenHelper'扩展应用程序?这与这个问题有什么关系? – njzk2 2014-12-04 19:37:09

+0

NeuigkeitenHelper不是我的入门级。我用它来实例化一些像RequestQeue这样的对象。 – Dudei95 2014-12-04 19:37:30

+1

发布NeuigkeitenHelper的源代码 – Anatol 2014-12-04 19:40:18