gpt4 book ai didi

java - 带 TextView 的 RecyclerView 适配器

转载 作者:行者123 更新时间:2023-12-02 10:46:53 28 4
gpt4 key购买 nike

我的 RecyclerView 单行有 3 列。 2 个由 SQLite 数据库查询填充,另一个由 TextView 填充。我在如何填充 TextView 方面遇到了麻烦。目标是通过从一组 switch 语句中选择的字符串选项来设置 TextView。但是,findViewById 无法解析。有没有办法让 TextView 位于 onBindViewHolder 中?

RecyclerViewAdapter.java

public class UpcomingRecyclerViewAdapter extends RecyclerView.Adapter<UpcomingRecyclerViewAdapter.ViewHolder> {

private Cursor mCursor;


public UpcomingRecyclerViewAdapter(Cursor cursor) {
this.mCursor = cursor;
}

@Override
public UpcomingRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.history_list_items, parent, false);
return new UpcomingRecyclerViewAdapter.ViewHolder(view);
}

@Override
public void onBindViewHolder(UpcomingRecyclerViewAdapter.ViewHolder holder, int position) {
if ((mCursor != null) && (mCursor.getCount() != 0)) {
if (!mCursor.moveToPosition(position)) {
throw new IllegalStateException("Couldn't move cursor to position " + position);
}
String name = mCursor.getString(mCursor.getColumnIndex(VehiclesContract.Columns.VEHICLE_NAME));
String miles = mCursor.getString(mCursor.getColumnIndex(VehiclesContract.Columns.VEHICLE_CURRENT));
String maintenance = (TextView) view.findViewById(R.id.up_list_maintenance);

holder.name.setText(name);
holder.miles.setText(miles);
holder.maintenance.setText(maintenance);
}
}


@Override
public int getItemCount() {
return mCursor != null ? mCursor.getCount() : 0;
}


static class ViewHolder extends RecyclerView.ViewHolder {
TextView name;
TextView miles;
TextView maintenance;

public ViewHolder(View itemView) {
super(itemView);
this.name = itemView.findViewById(R.id.upcoming_name);
this.miles = itemView.findViewById(R.id.upcoming_miles);
this.maintenance = itemView.findViewById(R.id.upcoming_maintenance);
}
}

最佳答案

嗯,在这一行

String maintenance = (TextView) view.findViewById(R.id.up_list_maintenance);

您试图将 View 分配字符串,这是完全错误的。

您可以将文本字段的值(字符串)分配给字符串变量

将文本字段分配给文本字段类型的变量。

先解决此问题,然后看看是否可以解决您的问题。

关于java - 带 TextView 的 RecyclerView 适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52475379/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com