2015-03-20 4 views
-1

Как и название говорит, и я не могу понять, что делать, и я был бы признателен, если бы кто-то мог мне помочь.Конструктор ArrayAdapter <String> (PhotosFragment, int, ArrayList <String>) не определен

public class PhotosFragment extends Fragment { 

public PhotosFragment(){} 
private ArrayList<String> items; 
private ArrayAdapter<String> itemsAdapter; 
private ListView lvItems; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.PhotosFragments); 
     // ADD HERE 
     lvItems = (ListView) findViewById(R.id.lvItems); 
     items = new ArrayList<String>(); 
     itemsAdapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, items); 
     lvItems.setAdapter(itemsAdapter); 
     items.add("First Item"); 
     items.add("Second Item"); 
     // Setup remove listener method call 
     setupListViewListener(); 
    } 

ответ

0

Это не сработает.

private ArrayAdapter<String> itemsAdapter; 

itemsAdapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, items); 

Необходимо сначала создать его экземпляр. Как это

itemsAdapter = new ArrayAdapter<String>(); 
0

Вы создании экземпляра itemsAdapter с помощью

new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items); 

и ArrayAdapter ожидает Context на его конструктор (documentation):

new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, items); 

Обратите внимание, что, чтобы получить Context от вашего Fragment вы можете использовать getActivity(), но учтите, что getActivity() может возвращать значение null, если оно вызывается до onAttach фрагмента.