0

我在ListActivity中隨機獲取nullpointerexception(我無法一致地重現該錯誤)。 StackTrace在第一行顯示錯誤,super.onListItemClick()。不知道爲什麼這可以返回null?onListItemClick上的NullPointerException

@Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 
     for (int i = 0; i < infos.size(); i++) 
      if (i != position) 
       l.getChildAt(i).setBackgroundColor(0xFF444444); 
     v.setBackgroundColor(0xFF666666); 
     // v.setClickable(true); 
     // test.setColorFilter(Color.parseColor("#444444"), 
     // PorterDuff.Mode.DARKEN); 
     ApplicationInfo ai = null; 
     ai = infos.get(position); 
     rinfos = findActivitiesForPackage(this, ai.packageName); 
     ResolveInfo ri = rinfos.get(0); 
     app_package_and_name = new String[] { ri.activityInfo.packageName, ri.activityInfo.name }; 
    } 

這裏是堆棧跟蹤:

java.lang.NullPointerException 
at com.sonrlabs.test.sonr.SONR.onListItemClick(SONR.java:189) 
at android.app.ListActivity$2.onItemClick(ListActivity.java:319) 
at android.widget.AdapterView.performItemClick(AdapterView.java:284) 
at android.widget.ListView.performItemClick(ListView.java:3763) 
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1936) 
at android.os.Handler.handleCallback(Handler.java:587) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:3687) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
at dalvik.system.NativeStart.main(Native Method) 
+0

你沒有完整的堆棧跟蹤,張貼在這裏?因爲l或v是空的,所以 –

+0

。請完整的stacktrace。 –

+0

添加異常堆棧跟蹤 – Houcine

回答

3

刪除線super.onListItemClick(l, v, position, id);

+0

已刪除。不幸的是崩潰仍然發生 –

+0

刪除後stacktrace是否一樣? – MrZander

+0

錯誤發生在l.getChildAt(i).setBackgroundColor(0xFF444444);不知道爲什麼它會超出界限? –