首页 文章

我应该使用RecyclerView.VERTICAL而不是LinearLayoutManager.VERTICAL吗?

提问于
浏览
0

运行./gradlew lint会报告一个令人困惑的错误:

39:必须是以下之一:RecyclerView.HORIZONTAL,RecyclerView.VERTICAL

在源代码中:

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

有什么理由我应该改变第39行

linearLayoutManager.setOrientation(RecyclerView.VERTICAL);

3 回答

  • 0

    使用 LinearLayoutManager.VERTICALRecyclerView.VERTICAL 没有区别,因为在 LinearLayoutManager 中它们是相同的 .

    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;
    

    正如您在 LinearLayoutManager 的此代码段中看到的那样 .

  • 4

    你应该在android中使用这个用于Vertical recycler视图

    LinearlayoutManager layoutManager = new LinearlayoutManager(this); recyclerView.setLayoutManager(的layoutManager);

  • 0

    您可以从XML布局本身提供 LayoutManager

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

    或者,您可以从Java代码执行此操作:

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

相关问题