2014-05-23 82 views
1

我在listView上獲得NullPointerException。我附上了我的自定義視圖類代碼和logcat。請看看並告訴我什麼是錯的。什麼是錯的行號57 ACC到logcat,並在我的代碼行數57 holder.txtCustomerName.setText(rowItem.getName()); 這裏是我的代碼:在列表視圖中獲取空指針

public class All_Fragment_Customview extends ArrayAdapter<All_Fragment_info>{ 
Context context; 
List<All_Fragment_info> objects;  
int layoutResourceId; 

    public All_Fragment_Customview(Context context, int layoutResourceId, 
      List<All_Fragment_info> rowItems) { 
     super(context, layoutResourceId, rowItems); 
     this.context = context; 
     this.layoutResourceId = layoutResourceId; 
     objects = rowItems; 
     notifyDataSetChanged();   
    } 

public void notifyDataSetChanged() 
{ 
    super.notifyDataSetChanged(); 
} 


    private class ViewHolder { 

     TextView txtCustomerName; 
     TextView txtmobileNumber; 
     TextView txtAddress; 
    } 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder holder; 
     All_Fragment_info rowItem = objects.get(position); 

     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     if (convertView == null) { 

      convertView = inflater.inflate(R.layout.customview_all, null); 
      holder = new ViewHolder();    
      holder.txtCustomerName = (TextView) convertView.findViewById(R.id.txtName); 
      holder.txtmobileNumber = (TextView) convertView.findViewById(R.id.txtNumber);  
      holder.txtAddress = (TextView) convertView.findViewById(R.id.txtAddress); 
      convertView.setTag(holder); 
     } else 
      holder = (ViewHolder) convertView.getTag(); 
      holder.txtCustomerName.setText(rowItem.getName()); 
      holder.txtmobileNumber.setText(rowItem.getNumber()); 
      holder.txtAddress.setText(rowItem.getAddress()); 
     return convertView; 
    } 
} 

這裏是我的logcat:

05-24 00:34:31.820: E/AndroidRuntime(13155): FATAL EXCEPTION: main 
05-24 00:34:31.820: E/AndroidRuntime(13155): java.lang.NullPointerException 
05-24 00:34:31.820: E/AndroidRuntime(13155): at com.example.test.All_Fragment_Customview.getView(All_Fragment_Customview.java:57) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.AbsListView.obtainView(AbsListView.java:2245) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.ListView.makeAndAddView(ListView.java:1866) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.ListView.fillDown(ListView.java:699) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.ListView.fillFromTop(ListView.java:760) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.ListView.layoutChildren(ListView.java:1682) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.AbsListView.onLayout(AbsListView.java:2075) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.View.layout(View.java:14140) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.ViewGroup.layout(ViewGroup.java:4467) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1686) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1544) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.LinearLayout.onLayout(LinearLayout.java:1457) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.View.layout(View.java:14140) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.ViewGroup.layout(ViewGroup.java:4467) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.FrameLayout.onLayout(FrameLayout.java:464) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.View.layout(View.java:14140) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.ViewGroup.layout(ViewGroup.java:4467) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1141) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.View.layout(View.java:14140) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.ViewGroup.layout(ViewGroup.java:4467) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.FrameLayout.onLayout(FrameLayout.java:464) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.View.layout(View.java:14140) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.view.ViewGroup.layout(ViewGroup.java:4467) 
05-24 00:34:31.820: E/AndroidRuntime(13155): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1686) 
+0

holder.txtCustomerName爲空或rowItem爲空 – Guardanis

+1

感謝@Guardanis .. – user3421261

回答

2

此代碼是罰款。錯誤是在我的XML文件中。實際上相同的名稱「txtName」文本字段已經在另一個XML中可用,當我檢查它參考時,我才知道這是一個問題。

+1

爲了幫助更多訪問者,您可以在您的答案中準確解釋您的XML有什麼問題,還可以將早期版本的XML添加到您的題。 –