2014-12-04 186 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