在 Android Studio 中添加 RecyclerView 视图需要以下几个步骤:
com.android.support:recyclerview-v7
依赖。如果没有,请在项目的 build.gradle
文件中添加以下依赖:
dependencies { implementation 'com.android.support:recyclerview-v7:28.0.0' // 如果使用 Android X,请使用 'androidx.recyclerview:recyclerview:1.2.1' }
然后,同步 Gradle 项目,以便下载所需的依赖。
activity_main.xml
文件中添加以下代码:
<android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" />
如果使用 Android X,请将 android.support.v7.widget.RecyclerView
替换为 androidx.recyclerview.widget.RecyclerView
。
RecyclerView.Adapter
的新类,例如 MyAdapter
。然后,实现必要的方法,如 onCreateViewHolder
、onBindViewHolder
和 getItemCount
。
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private List<MyData> dataList; public MyAdapter(List<MyData> dataList) { this.dataList = dataList; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { MyData data = dataList.get(position); holder.textView.setText(data.getText()); } @Override public int getItemCount() { return dataList.size(); } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView textView; public ViewHolder(View itemView) { super(itemView); textView = itemView.findViewById(R.id.text_view); } } }
请根据你的数据结构和界面需求自定义 MyData
类和 item_layout.xml
文件。
MainActivity.java
文件中添加以下代码:public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private MyAdapter adapter;
private List<MyData> dataList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recycler_view);
// 初始化数据列表
dataList = new ArrayList<>();
// 添加数据到列表中
// ...
// 设置布局管理器
recyclerView.setLayoutManager(new LinearLayoutManager(this));
// 设置适配器
adapter = new MyAdapter(dataList);
recyclerView.setAdapter(adapter);
}
}
领取专属 10元无门槛券
手把手带您无忧上云