10

błąd logcat: brak dołączonego adaptera; pomijam układBrak dołączonego adaptera; pomijam układ

Zmieniłem argument kontekstowy za pomocą funkcji getActivity(), ale aplikacja nadal nie działa.

public class FragmentActivity extends Fragment { 
    private RecyclerView mRecyclerView; 
    private CountryAdapter mAdapter; 
    private LinearLayoutManager layoutManager; 
    public FragmentActivity(){} 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.activity_main, container, false); 
     mRecyclerView = (RecyclerView) rootView.findViewById(R.id.list); 
     layoutManager = new LinearLayoutManager(getActivity()); 
     mRecyclerView.setLayoutManager(layoutManager); 
     mRecyclerView.setAdapter(mAdapter); 
     mAdapter = new CountryAdapter(CountryManager.getInstance().getCountries(), R.layout.card_layout, getActivity()); 
     return rootView; 
    } 
    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
    } 
} 

Odpowiedz

14

Nie dołączyć adapter bo go utworzyć po spróbować go podłączyć:

mRecyclerView.setAdapter(mAdapter); // Here, mAdapter is null 
mAdapter = new CountryAdapter(CountryManager.getInstance().getCountries(), R.layout.card_layout, getActivity()); 
+0

dziękuję za odpowiedź, imadaching mojego adaptera teraz, ale wciąż nie pokazuje mojej listy – kinsell

+0

'CountryManager' i' CountryAdapter' prawdopodobnie zwracają złe/puste dane. Nie są to klasy systemowe, więc musisz podać źródło. – StenSoft

+0

Cóż, zwracają dane, gdy nie używam fragmentów, więc pomyślałem, że problem leży w aktywności fragmentów. – kinsell

4

w moim przypadku ten problem występuje, ponieważ nie było na widok swojego układu, który przeniósł moją listę pojemnik i był wyświetlany zbyt mały