Mettre en œuvre un RecyclerView dans un Fragment
J'essaie de créer une ListView dans un Fragment dans un ViewPager dans un AppCompatActivity. Dans le AppCompatActivity sont tous de voir les éléments sont wrappend dans un CoordinatorLayout. Parce que j'ai utilisé le CoordinatorLayout. Je dois utiliser un RecylerView je suis en train de suivre la formation de
developer.android.com, mais mon application s'est arrêté après mon journal. C'est mon code dans myFragment où les applications s'est arrêté.
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;
}
//...
Pouvez-vous poster le rapport de crash?
OriginalL'auteur user3432681 | 2015-12-15
Vous devez vous connecter pour publier un commentaire.
Utiliser cette
Vous devriez appeler le
setLayoutManager
&setAdapter
méthodes (respectivement) sur laRecyclerview
.Plus,
vous ne devez pas utiliser
android.R.id.list
, que vous n'êtes pas à l'aide d'unListFragment
. Le remplacer par leid
de vousRecyclerview
(que dans votre mise en page XML).J'ai une question, d'où vient le getnames a venir ?
getNames()
est une méthode qui retourne la liste des données pour alimenter lesRecyclerView
OriginalL'auteur Mohammed Aouf Zouag
avez-vous mis le android.R.id.liste que le recyclerview id? sinon, vous devez définir un id à la recyclerview dans le fichier xml, comme ceci:
et modifier cette ligne
à
OriginalL'auteur Daniel Martin Shum