Android - 使用带有默认适配器的 RecyclerView

rub*_*bie 5 java android android-recyclerview

是否可以为 RecyclerView 使用默认适配器?例如,ArrayAdapter(不创建自己的类?)

使用 RecyclerView 每个项目只有一行文本有意义吗?ListView 无需任何额外的类即可完成。

pas*_*ssy 1

这是 RecyclerView 的默认 ArrayAdapter 实现

https://github.com/passsy/ArrayAdapter

示例实现:

public class UserAdapter extends ArrayAdapter<User, UserAdapter.ViewHolder> {

    public static class ViewHolder extends RecyclerView.ViewHolder {

        private final TextView titleView;

        public ViewHolder(final View itemView) {
            super(itemView);
            titleView = (TextView) itemView.findViewById(R.id.title);
        }
    }

    @Nullable
    @Override
    public Object getItemId(@NonNull final User user) {
        return user.getId();
    }

    @Override
    public void onBindViewHolder(final ViewHolder holder, final int position) {
        final User item = getItem(position);
        holder.titleView.setText(item.getName());
    }

    @Override
    public ViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {
        final View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.itemview_user, parent, false);
        return new ViewHolder(view);
    }
}
Run Code Online (Sandbox Code Playgroud)