Внедрение RecyclerView в фрагменте

Я пытаюсь создать ListView во фрагменте в ViewPager в AppCompatActivity. В AppCompatActivity все элементы представления являются wrappend в CoordinatorLayout. Потому что я использовал координаторLayout. Я должен использовать RecylerView. Я стараюсь следовать обучению с сайта developer.android.com , но мое приложение остановилось после моего журнала. Это мой код в myFragment, где приложения остановились.

import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; //... @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_city_list, container, false) mRecyclerView = (RecyclerView) view.findViewById(android.R.id.list); mLayoutManager = new LinearLayoutManager(this.getActivity()); Log.d("debugMode", "The application stopped after this"); mRecyclerView.setLayoutManager(mLayoutManager); mAdapter = new RecyclerAdapter(getNames()); mRecyclerView.setAdapter(mAdapter); return view; } //... 

Использовать это

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_city_list, container, false) // Replace 'android.R.id.list' with the 'id' of your RecyclerView mRecyclerView = (RecyclerView) view.findViewById(android.R.id.list); mLayoutManager = new LinearLayoutManager(this.getActivity()); Log.d("debugMode", "The application stopped after this"); mRecyclerView.setLayoutManager(mLayoutManager); mAdapter = new RecyclerAdapter(getNames()); mRecyclerView.setAdapter(mAdapter); return view; } 

Вы должны вызвать методы setLayoutManager & setAdapter ( соответственно ) в Recyclerview .

Кроме того,

mRecyclerView = (RecyclerView) view.findViewById(android.R.id.list);

Вам не следует использовать android.R.id.list , поскольку вы не используете ListFragment . Замените его id вашего Recyclerview ( как в вашем XML-макете ).

Вы установили android.R.id.list как идентификатор recyclerview? В противном случае вы должны установить id для recyclerview в XML-файле, например:

 android:id="@+id/recyclerview" 

И измените эту строку

 mRecyclerView = (RecyclerView) view.findViewById(android.R.id.list); 

в

 mRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerview); 
Intereting Posts