0

我有一點問題。我試圖創建一個帶有片段的佈局,但是當我調用setAdapter方法時,我有一個Java NullPointerException,並且找不到該錯誤。謝謝大家!在調用setAdapter時出現NullPointerException異常

public static class DemoObjectFragment extends Fragment { 

     public static final String ARG_OBJECT = "object"; 
     private List<RowItem> rowItems; 

     private static Integer[] images = { 
      R.drawable.red, 
      R.drawable.red, 
      R.drawable.red, 
      R.drawable.red, 
      R.drawable.red, 
      R.drawable.red, 
      R.drawable.red,    
      R.drawable.red 
      }; 

     ListView lv; 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_collection_object, container, false); 
      Bundle args = getArguments(); 

      lv = (ListView) this.getActivity().findViewById(R.id.myList); 
      rowItems = new ArrayList<RowItem>(); 

      String[] titles = {"Movie1","Movie2","Movie3","Movie4","Movie5","Movie6","Movie7","Movie8"}; 
      String[] descriptions = {"First Movie","Second movie","Third Movie","Fourth Movie","Fifth Movie", 
        "Sixth Movie","Seventh Movie","Eighth Movie"}; 
      //Populate the List 
      for (int i = 0; i < titles.length; i++) { 
       RowItem item = new RowItem(images[i], titles[i], descriptions[i]); 
       rowItems.add(item); 
      } 

      // Set the adapter on the ListView 
      LazyAdapter adapter = new LazyAdapter(getActivity(), R.layout.list_row, rowItems); 
      lv.setAdapter(adapter); 

      lv.setOnItemSelectedListener(new OnItemSelectedListener() { 

       @Override 
       public void onItemSelected(AdapterView<?> arg0, View arg1, 
         int arg2, long arg3) { 
        // TODO Auto-generated method stub 

       } 

       @Override 
       public void onNothingSelected(AdapterView<?> arg0) { 
        // TODO Auto-generated method stub 

       } 
      }); 

      //((TextView) rootView.findViewById(android.R.id.text1)).setText(Integer.toString(args.getInt(ARG_OBJECT))); 
      return rootView; 
     } 
    } 
+0

你可以添加日誌嗎? – Unii

+1

@ user974801黑帶答案是對的,不需要'logcat'錯誤 –

+0

對不起。這是我第三次在這個網站上寫作。請原諒我。我下次會這樣做。 –

回答

8

變化

lv = (ListView) this.getActivity().findViewById(R.id.myList); 

lv = (ListView) rootView.findViewById(R.id.myList); 

您正在尋找活動中的ListView的,但它可能屬於片段的視圖層次結構(它裏面R.layout.fragment_collection_object申報)

相關問題