Android studio如何把多个item显示到RecyclerView中,item用来显示符合条件的个人信息,点击item进入详情页,示例代码
时间: 2023-06-26 14:09:27 浏览: 58
以下是一个简单的示例代码,展示如何在RecyclerView中显示多个item,并且点击item进入详情页。
首先,我们需要定义一个RecyclerView和Adapter:
```
public class MyRecyclerView extends RecyclerView.Adapter<MyRecyclerView.ViewHolder> {
private ArrayList<Person> mPersonList;
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public ViewHolder(View itemView) {
super(itemView);
mTextView = itemView.findViewById(R.id.text_view);
}
}
public MyRecyclerView(ArrayList<Person> personList) {
mPersonList = personList;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.my_item_layout, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Person currentPerson = mPersonList.get(position);
holder.mTextView.setText(currentPerson.getName());
}
@Override
public int getItemCount() {
return mPersonList.size();
}
}
```
这里我们定义了一个`Person`类,包含了一个人的基本信息,如姓名、年龄、性别等等。我们也定义了一个`MyRecyclerView`类,继承自`RecyclerView.Adapter`,并且包含了一个内部类`ViewHolder`用来表示每个item中的视图。`MyRecyclerView`中的`onCreateViewHolder()`方法用来创建ViewHolder,`onBindViewHolder()`方法用来绑定ViewHolder中的数据,`getItemCount()`方法返回列表中item的数量。
接下来,我们需要在Activity中使用RecyclerView:
```
public class MyActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private MyRecyclerView mAdapter;
private ArrayList<Person> mPersonList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity_layout);
mRecyclerView = findViewById(R.id.recycler_view);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mPersonList = new ArrayList<>();
// 添加符合条件的个人信息
mPersonList.add(new Person("Tom", 20));
mPersonList.add(new Person("Jerry", 18));
mPersonList.add(new Person("Mike", 22));
mAdapter = new MyRecyclerView(mPersonList);
mRecyclerView.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(new MyRecyclerView.OnItemClickListener() {
@Override
public void onItemClick(int position) {
// 点击item进入详情页
Intent intent = new Intent(MyActivity.this, DetailActivity.class);
intent.putExtra("person", mPersonList.get(position));
startActivity(intent);
}
});
}
}
```
这里我们通过`findViewById()`方法获取到RecyclerView的实例,并且设置了LayoutManager。然后创建了一个包含符合条件的个人信息的列表,并且将其传递给了`MyRecyclerView`的构造函数中。最后,我们将`MyRecyclerView`实例设置到RecyclerView中。
注意到`MyRecyclerView`类中定义了一个接口`OnItemClickListener`,用来监听item的点击事件。我们在Activity中通过`mAdapter.setOnItemClickListener()`方法进行注册,当用户点击某个item时,就会跳转到详情页`DetailActivity`中。
详情页`DetailActivity`中可以通过`getIntent().getExtra()`方法获取到点击的item对应的`Person`对象,并且显示其详细信息。
希望这个示例代码可以帮助你实现多个item显示到RecyclerView中,并且点击item进入详情页的功能。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)