java - 使用一个适配器的多个回收器视图
问题描述
我有一个应用程序,我想在应用程序的不同部分使用 recyclerviews,我正在考虑为相同的两个(或更多)recyclerviews 使用相同的适配器,我认为这将是一个好习惯,或者我错了最好为应用程序中的每个回收站视图制作一个新的适配器?
这是我的适配器的代码:
public class RecyclerViewAdapter extends RecyclerView.Adapter <RecyclerViewAdapter.MyViewHolder> {
private ArrayList<Task> list;
//This is the list of the second recyclerview which I want to implement
private ArrayList<String> categories;
private OnItemListener mOnItemListener;
RecyclerViewAdapter(ArrayList<Task> list, OnItemListener onItemListener)
{
this.list = list;
this.mOnItemListener = onItemListener;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
TextView textView = (TextView) LayoutInflater.from(parent.getContext()).inflate(R.layout.single_view, parent, false);
return new MyViewHolder(textView, mOnItemListener);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.textView.setText(list.get(position).getTaskName());
}
@Override
public int getItemCount() {
return list.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener
{
TextView textView;
OnItemListener onItemListener;
MyViewHolder(@NonNull View itemView, OnItemListener onItemListener) {
super(itemView);
textView = itemView.findViewById(R.id.singleView);
this.onItemListener = onItemListener;
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
onItemListener.onItemClick(getAdapterPosition());
}
}
public interface OnItemListener
{
void onItemClick(int position);
}
}
那么我将如何去做,以便它可以根据应用程序中的哪个 recyclerview 正在设置/初始化适配器进行切换,以便getItemCount
例如返回大小categories
而不是list
等等。
解决方案
推荐阅读
- android - 更改 BottomNavigationView 单项图标和文本颜色
- macos - 在 macOS Catlina 上安装 reactnative for android
- c# - Unity 3D 中的移动平台
- tensorflow - Some folds in k-fold cross-validation containing 0 True/False positives
- ios - Remove Select Photos... option on PHPhotoLibrary.requestAuthorization
- javascript - 尝试添加动态输入和标签
- java - Local Tomcat not running on intellij
- javascript - 如何处理 Net Core 中的 net::ERR_INTERNET_DISCONNECTED 错误
- javascript - 使用本地护照时如何判断客户端是否经过身份验证?
- reactjs - React.FunctionComponent with generics in typescript