2016-07-08 69 views
-4

在片段中,我試圖建立一個列表視圖。在onCreateView()ListView爲空,爲什麼?

mFindFriendsOptionsListView = (ListView) view.findViewById(R.id.find_friends_list_view); 
mFindFriendsOptionsAdapter = new FindFriendsOptionsAdapter(mFindFriendOptionIconIds, mFindFriendOptionTitles, mFindFriendOptionDescription); 
mFindFriendsOptionsListView.setAdapter(mFindFriendsOptionsAdapter); 

下面是列表視圖中的XML:

<ListView 
     android:id="@+id/find_friends_options_list_view" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="32dp" 
     android:layout_alignParentTop="true" 
     android:divider="#999999" 
     android:dividerHeight="1dp"/> 

這裏是列表元素的XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <ImageView 
      android:layout_width="60dp" 
      android:layout_height="60dp" 
      android:id="@+id/option_icon_image_view" 
      android:layout_marginRight="16dp" 
      android:layout_marginEnd="16dp" 
      android:layout_marginStart="16dp" 
      android:layout_marginLeft="16dp"/> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_gravity="center_vertical"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/option_title_text_view" 
       tools:text="Contacts" 
       android:textSize="18sp" 
       android:layout_marginBottom="6dp"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/option_description_text_view" 
       tools:text="Upload contacts to be your friends" 
       android:textSize="14sp"/> 
     </LinearLayout> 

    </LinearLayout> 

    <ImageView 
     android:layout_width="20dp" 
     android:layout_height="20dp" 
     android:id="@+id/arrow_image_view" 
     android:layout_centerVertical="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginRight="8dp" 
     android:layout_marginEnd="8dp" /> 

</RelativeLayout> 

這裏是堆棧跟蹤:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference 
    at com.hb.birthpay.fragment.FindFriendFragment.onCreateView(FindFriendFragment.java:66) 

我有d ebugged和字段mFindFriendOptionsListViewnull即使我設置它使用findViewById()。爲什麼ListView字段爲空,我如何解決這個問題,以便我不再獲得java.lang.NullPointerException

+0

什麼是'R.id.find_friends_list_view'的價值? –

回答

3

我猜這是因爲它有一個錯誤的ID find_friends_options_list_view,而你用這個ID得到它:

mFindFriendsOptionsListView = (ListView) view.findViewById(R.id.find_friends_list_view); 

更改任何一個對應於其他。讓它成爲你複製和粘貼這些東西的習慣,否則你會有一段糟糕的時光。

+0

謝謝抱歉的愚蠢問題。 –

+0

啊,發生在每個人身上。不要擔心。 – Vucko

+1

謝謝兄弟們,爲了公平起見,我一直在編碼8小時,所以mehh沒什麼大不了的,夏天的時候。 @Vucko –