2012-05-17 54 views
0

當我試圖設置我的ListActivity的項目視圖時,我得到NullPointerException。完整的堆棧跟蹤是在這篇文章的底部,但我不知道它是多麼有幫助。這是造成問題的行:例程中的奇怪異常ListActivity

convertView = mInflater.inflate(R.layout.more_group_list_item, null); 

由於異常提供信息很少,我不知道爲什麼,這條線將產生NullPointerException我不知道去哪裏找來解決問題。我唯一的猜測是無法找到佈局項目。

這裏是上下文:

class MoreJumpListAdapter extends ArrayAdapter<MoreItem> { 

    public MoreJumpListAdapter(final Context context) { 
     super(context, 0); 
    } 

    @Override 
    public View getView(final int position, View convertView, final ViewGroup parent) { 
     MoreJumpActivity.ViewHolder viewHolder; 

     if (convertView == null) { 
      convertView = mInflater.inflate(R.layout.more_group_list_item, null); 
      viewHolder = new MoreJumpActivity.ViewHolder(convertView); 
      convertView.setTag(viewHolder); 
     } else { 
      viewHolder = (MoreJumpActivity.ViewHolder) convertView.getTag(); 
     } 

     viewHolder.populateViews(getItem(position)); 

     return convertView; 
    } 

} 

,這裏是佈局的xml文件的內容:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:paddingRight="?android:attr/scrollbarSize" 
    android:background="@color/white"> 
    <ImageView 
     android:id="@+id/imageview_displayimage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:padding="5dp" /> 
    <TextView 
     android:id="@+id/tv_displayname" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ellipsize="end" 
     android:layout_centerVertical="true" 
     android:paddingLeft="15dp" 
     android:layout_toRightOf="@+id/imageview_displayimage" /> 
</RelativeLayout> 

如果有人看到什麼在這個堆棧跟蹤有用我很想知道它是什麼。

05-17 20:34:22.224: W/dalvikvm(997): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
05-17 20:34:22.264: E/AndroidRuntime(997): FATAL EXCEPTION: main 
05-17 20:34:22.264: E/AndroidRuntime(997): java.lang.NullPointerException 
05-17 20:34:22.264: E/AndroidRuntime(997): at com.MyApp.MoreJumpActivity$MoreJumpListAdapter.getView(MoreJumpActivity.java:103) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.AbsListView.obtainView(AbsListView.java:1430) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.ListView.makeAndAddView(ListView.java:1745) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.ListView.fillDown(ListView.java:670) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.ListView.fillFromTop(ListView.java:727) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.ListView.layoutChildren(ListView.java:1598) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.AbsListView.onLayout(AbsListView.java:1260) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.View.layout(View.java:7175) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.ViewRoot.performTraversals(ViewRoot.java:1140) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.os.Handler.dispatchMessage(Handler.java:99) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.os.Looper.loop(Looper.java:123) 
05-17 20:34:22.264: E/AndroidRuntime(997): at android.app.ActivityThread.main(ActivityThread.java:3683) 
05-17 20:34:22.264: E/AndroidRuntime(997): at java.lang.reflect.Method.invokeNative(Native Method) 
05-17 20:34:22.264: E/AndroidRuntime(997): at java.lang.reflect.Method.invoke(Method.java:507) 
05-17 20:34:22.264: E/AndroidRuntime(997): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
05-17 20:34:22.264: E/AndroidRuntime(997): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
05-17 20:34:22.264: E/AndroidRuntime(997): at dalvik.system.NativeStart.main(Native Method) 
+1

如果'mInflater'爲null,它將生成一個NPE;是嗎? –

+0

...是的。它是。這很尷尬。 –

+0

嘿。我們都去過那裏。我仍然定期去那裏。 –

回答

1

如果流量不踏入inflate方法,那麼mInflater必須null,因此拋。