web-dev-qa-db-fra.com

Dois-je utiliser RecyclerView.VERTICAL au lieu de LinearLayoutManager.VERTICAL?

L'exécution de ./gradlew lint me signale une erreur qui prête à confusion:

39: Doit être l'un de: RecyclerView.HORIZONTAL, RecyclerView.VERTICAL

Dans le code source:

    38 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(rootView.getContext());
    39 linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    40 recyclerView.setLayoutManager(linearLayoutManager);
    41 recyclerView.setAdapter(recyclerAdapter);

Y a-t-il une raison pour laquelle je devrais changer la 39e ligne en

linearLayoutManager.setOrientation(RecyclerView.VERTICAL);
8
John

Il n'y a aucune différence dans l'utilisation de LinearLayoutManager.VERTICAL ou RecyclerView.VERTICAL car dans LinearLayoutManager ce sont les mêmes.

public class LinearLayoutManager extends RecyclerView.LayoutManager implements
    ItemTouchHelper.ViewDropHandler, RecyclerView.SmoothScroller.ScrollVectorProvider {

private static final String TAG = "LinearLayoutManager";

static final boolean DEBUG = false;

public static final int HORIZONTAL = RecyclerView.HORIZONTAL;

public static final int VERTICAL = RecyclerView.VERTICAL;

Comme vous pouvez le voir dans cet extrait de code à partir de LinearLayoutManager.

9
Muzammil Husnain

Vous pouvez fournir LayoutManager à partir de la disposition XML elle-même:

<Android.support.v7.widget.RecyclerView
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    app:layoutManager="Android.support.v7.widget.LinearLayoutManager" />

Vous pouvez également le faire à partir de Java:

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(), RecyclerView.VERTICAL, false);
1
Chintan Soni

Vous devez utiliser celui-ci pour la vue Recycleur vertical dans Android

LinearLayoutManager layoutManager = new LinearlayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
1
Tejas Shukla