android.widget de.RelativeLayout ne peut pas être lancé pour android.de soutien.v7.widget de.RecyclerView
J'ai un problème dans mon NavigationDrawer mise en page avec l'erreur:
android.widget.RelativeLayout cannot be cast to android.support.v7.widget.RecyclerView
C'est mon onCreateView:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mRecyclerView = (RecyclerView) inflater.inflate(R.layout.fragment_drawer, container, false);
mRecyclerView.setClipToPadding(false);
mAdapter = new NavigationDrawerAdapter(getActivity(), new NavigationDrawerAdapter.ClickListener() {
@Override
public void onClick(int index) {
selectItem(index);
}
@Override
public boolean onLongClick(final int index) {
Pins.Item item = mAdapter.getItem(index);
Utils.showConfirmDialog(getActivity(), R.string.remove_shortcut,
R.string.confirm_remove_shortcut, item.getDisplay(getActivity()), new CustomDialog.SimpleClickListener() {
@Override
public void onPositive(int which, View view) {
Pins.remove(getActivity(), index);
mAdapter.reload(getActivity());
}
}
);
return false;
}
});
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
mAdapter.setCheckedPos(mCurrentSelectedPosition);
return mRecyclerView;
}
Et c'est le fragment_drawer
mise en page:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/cover_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/banner" />
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/cover_bg"
android:background="?drawer_background"
android:scrollbars="vertical" />
</RelativeLayout>
Je ne sais pas comment il ne peut pas lancer le RelativeLayout.. Même incident avec LinearLayout.
Vous êtes le moulage de votre mise en page (un RelativeLayout) à un RecycleView à
Oui, mais comment puis-je faire? J'ai besoin de mettre une image sur mon recycleview. si j'ai mis l'image dans mon item_drawer.xml (c'est la même mise en page dans laquelle j'ai mis le TextView éléments de la recycleview), il me montre l'image, pas une seule fois, mais pour chaque élément de la carte. J'ai donc (Bannière - textview, Bannière - textview, Bannière - textview) et pas (Bannière, textview,textview,textview) Comprendre ce que je veux dire?
mRecyclerView = (RecyclerView) inflater.inflate(R.layout.fragment_drawer, container, false); you can't do
qui vous ne pouvez pas faireOui, mais comment puis-je faire? J'ai besoin de mettre une image sur mon recycleview. si j'ai mis l'image dans mon item_drawer.xml (c'est la même mise en page dans laquelle j'ai mis le TextView éléments de la recycleview), il me montre l'image, pas une seule fois, mais pour chaque élément de la carte. J'ai donc (Bannière - textview, Bannière - textview, Bannière - textview) et pas (Bannière, textview,textview,textview) Comprendre ce que je veux dire?
OriginalL'auteur End.Game | 2015-03-29
Vous devez vous connecter pour publier un commentaire.
Votre
fragment_drawer
mise en page ne dispose pas d'unRecyclerView
comme son élément racine. Il a unRelativeLayout
comme son élément racine. Par conséquent,inflate()
sera de retour leRelativeLayout
, qui lui-même a l'RecyclerView
à l'intérieur d'elle.Modifier votre code:
Ici, nous avons l'
RecyclerView
par trouver le@android:id/list
widget à l'intérieur de la gonflés de mise en page.OriginalL'auteur CommonsWare