recyclerview.setLayoutManager()

Ano*_*ous 6 android android-recyclerview

这段代码中recyclerview.setLayoutManager()有什么用?请详细说明。我知道recyclerview,但我对这里setLayoutManager()的用途感到困惑?

public class MainActivity extends AppCompatActivity {

public static final int NEW_WORD_ACTIVITY_REQUEST_CODE = 1;

private WordViewModel mWordViewModel;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    RecyclerView recyclerView = findViewById(R.id.recyclerview);
    final WordListAdapter adapter = new WordListAdapter(this);
    recyclerView.setAdapter(adapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
Run Code Online (Sandbox Code Playgroud)

BVB*_*B09 7

晚了一年多,但背后的想法setLayoutManager是设置内容的布局,即回收者视图中的重复视图列表。如果您向下滚动到此处的文档,它会告诉您列表和网格有多种策略,因此应该会给您一些线索。此外,它告诉您,没有它,RecyclerView将无法运行,即没有开箱即用的默认设置。

因此,如果您想将其设置LinearLayout为水平(默认情况下为垂直),那么您必须指定它。

LinearLayoutManager layoutManager
    = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);

RecyclerView myItems = findViewById(R.id.my_recycler_view);
myItems.setLayoutManager(layoutManager);
Run Code Online (Sandbox Code Playgroud)