在 RecyclerView 中显示 SQLite 数据
Display SQLite data in RecyclerView
我搜索了很多,但没有找到任何有关如何在 RecyclerView 中显示 SQLite 数据的分步指南。任何人都可以向我解释我该怎么做吗?
我的 DataBaseAdapter :
public class DataBaseAdapter {
DataBaseHelper helper;
public DataBaseAdapter(Context context) {
helper = new DataBaseHelper(context);
}
public long insertData(String name, String card, String code) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(DataBaseHelper.NAME, name);
contentValues.put(DataBaseHelper.CARD, card);
contentValues.put(DataBaseHelper.CODE, code);
long id = db.insert(DataBaseHelper.TABLE_NAME, null, contentValues);
return id;
}
public String getData(String name){
//select _id,Name,Card,Code
SQLiteDatabase db = helper.getWritableDatabase();
String[] columns = {DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns,DataBaseHelper.NAME+" = '"+name+"'", null, null, null, null);
StringBuffer buffer = new StringBuffer();
while (cursor.moveToNext()) {
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
String personName = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
buffer.append(name + " " + card + " " + code + "\n");
}
return buffer.toString();
}
public String getAllData() {
//select _id,Name,Card,Code
SQLiteDatabase db = helper.getWritableDatabase();
String[] columns = {DataBaseHelper.UID, DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns, null, null, null, null, null);
StringBuffer buffer = new StringBuffer();
while (cursor.moveToNext()) {
int index1 = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int cid = cursor.getInt(index1);
String name = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
buffer.append(cid + " " + name + " " + card + " " + code + "\n");
}
return buffer.toString();
}
static class DataBaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "cardsdatabase";
private static final String TABLE_NAME = "CARDSTABLE";
private static final String UID = "_id";
private static final String NAME = "Name";
private static final String CARD = "Card";
private static final String CODE = "Code";
private static final int DATABASE_VERSION = 1;
private static final String CREATE_TABLE = "create table "
+ TABLE_NAME + " (" + UID
+ " integer primary key autoincrement, " + NAME
+ " text not null, " + CARD + " ext not null, " + CODE
+ " text not null);";
private static final String DROP_TABLE = "DROP TABLE IF EXISTS "
+ TABLE_NAME;
private Context context;
public DataBaseHelper(Context context) {
super(context, DataBaseHelper.DATABASE_NAME, null, DataBaseHelper.DATABASE_VERSION);
this.context = context;
Toast toast = Toast.makeText(context, "constructor called", Toast.LENGTH_LONG);
toast.show();
}
@Override
public void onCreate(SQLiteDatabase db) {
//CREATE TABLE CARDSTABLE(_id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(255));
try {
db.execSQL(CREATE_TABLE);
Toast toast = Toast.makeText(context, "onCreate called", Toast.LENGTH_LONG);
toast.show();
} catch (SQLException e) {
Toast toast = Toast.makeText(context, "" + e, Toast.LENGTH_SHORT);
toast.show();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
try {
Toast toast = Toast.makeText(context, "onUpgrade called", Toast.LENGTH_LONG);
toast.show();
db.execSQL(DROP_TABLE);
onCreate(db);
} catch (SQLException e) {
Toast toast = Toast.makeText(context, "" + e, Toast.LENGTH_LONG);
toast.show();
}
}
}
你的回答对我很有帮助,谢谢
编辑:
DataBean class:
public class DataBean {
//private variables
int _id;
String _name;
String _card_value;
String _card_code;
// Empty constructor
public DataBean(){
}
// constructor
public DataBean(int id, String name, String _card_value, String _card_code){
this._id = id;
this._name = name;
this._card_value = _card_value;
this._card_code = _card_code;
}
// constructor
public DataBean(String name, String _card_value, String _card_code){
this._name = name;
this._card_value = _card_value;
this._card_code = _card_code;
}
// getting ID
public int getID(){
return this._id;
}
// setting id
public void setID(int id){
this._id = id;
}
// getting name
public String getName(){
return this._name;
}
// setting name
public void setName(String name){
this._name = name;
}
// getting CardValue
public String getCardValue(){
return this._card_value;
}
// setting CardValue
public void setCardValue(String _card_value){
this._card_value = _card_value;
}
// getting CardCode
public String getCardCode(){
return this._card_code;
}
// setting CardCode
public void setCardCode(String _card_code){
this._card_code = _card_code;
}
}
这些行我添加到我的 DataBaseAdapter:
public DataBean getDat(String name){
DataBean bean=null;
SQLiteDatabase db=this.getReadableDatabase();
String[] columns = {DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns,DataBaseHelper.NAME+" = '"+name+"'", null, null, null, null);
if (cursor.moveToFirst()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int id = cursor.getInt(index);
String personName = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
bean = new DataBean(id, name, card, code);
}
return bean;
}
public List<DataBean> gelAllDat(){
List<DataBean> list = new ArrayList<>();
SQLiteDatabase db=this.getReadableDatabase();
String[] columns = {DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns,DataBaseHelper.NAME, null, null, null, null);
while (cursor.moveToNext()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int cid = cursor.getInt(index);
String name = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
DataBean bean = new DataBean(cid, name, card, code);
list.add(bean);
}
return list;
}
最后一个问题?我需要在 DataBaseAdapter?
中更改 insert data
编辑 2:
我将此代码添加到我的 DataBaseAdapter:
public List<DataBean> getAllCards(){
List<DataBean> list=new ArrayList<>();
String query = "SELECT * FROM " + DataBaseHelper.TABLE_NAME;
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
while (cursor.moveToNext()) {
//int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
//int cid = cursor.getInt(index);
String name = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
DataBean bean = new DataBean(name, card, code);
list.add(bean);
}
return list;
}
public DataBean getData(String name) {
//select _id,Name,Card,Code
SQLiteDatabase db = helper.getReadableDatabase();
String[] columns = {DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
DataBean bean=null;
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns, DataBaseHelper.NAME + " = '" + name + "'", null, null, null, null);
StringBuffer buffer = new StringBuffer();
while (cursor.moveToNext()) {
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
String personName = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
//buffer.append(name + " " + card + " " + code + "\n");
bean = new DataBean( name,card, code);
}
return bean;
}
您可以从一个 Bean 开始,对信息进行包含和建模,使其更易于实现。
public class DataBean{
protected int id;
protected String name;
protected String card;
protected String code;
//Setter, Getters and constructor
...
}
创建 DataBean 后,您可以将方法的 return 类型更改为 DataBean 或 List 并在每个方法中填充,而不是 return 包含所有字段的字符串。
public DataBean getData(String name){
...
DataBean bean = null;
if (cursor.moveToFirst()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int id = cursor.getInt(index);
String personName = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
bean = new DataBean(id, name, card, code);
}
return bean;
}
public List<DataBean> getAllData() {
List<DataBean> list = new ArrayList<>();
...
while (cursor.moveToNext()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int cid = cursor.getInt(index);
String name = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
DataBean bean = new DataBean(cid, name, card, code);
list.add(bean);
}
return list;
}
现在当你调用你的方法时你有一个 DataBean 对象,现在你需要编写你的适配器来在 RecyclerView 中显示信息。
首先需要 link 并在 Activity 中设置 RecyclerView。
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setAdapter(new DataBeanAdapter(dbAdapter.getAllData(), R.layout.item));
在您需要创建 DataBeanAdapter 和 ViewHolder 之后。
public class DataBeanAdapter extends RecyclerView.Adapter<DataBeanAdapter.ViewHolder>{
private List<DataBean> items;
private int itemLayout;
public DataBeanAdapter(List<DataBean> items, int itemLayout){
this.items = items;
this.itemLayout = itemLayout;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(itemLayout, parent, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
DataBean item = items.get(position);
holder.name.setText(item.getName());
holder.card.setText(item.getCard());
//All the thing you gonna show in the item
}
@Override
public int getItemCount() {
return items.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView name;
public TextView card;
public ViewHolder(View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.name);
card = (TextView) itemView.findViewById(R.id.card);
}
}
}
ViewHolder 的 ID、布局和属性取决于您要在 RecyclerView 中显示每个项目的对象。
我搜索了很多,但没有找到任何有关如何在 RecyclerView 中显示 SQLite 数据的分步指南。任何人都可以向我解释我该怎么做吗?
我的 DataBaseAdapter :
public class DataBaseAdapter {
DataBaseHelper helper;
public DataBaseAdapter(Context context) {
helper = new DataBaseHelper(context);
}
public long insertData(String name, String card, String code) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(DataBaseHelper.NAME, name);
contentValues.put(DataBaseHelper.CARD, card);
contentValues.put(DataBaseHelper.CODE, code);
long id = db.insert(DataBaseHelper.TABLE_NAME, null, contentValues);
return id;
}
public String getData(String name){
//select _id,Name,Card,Code
SQLiteDatabase db = helper.getWritableDatabase();
String[] columns = {DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns,DataBaseHelper.NAME+" = '"+name+"'", null, null, null, null);
StringBuffer buffer = new StringBuffer();
while (cursor.moveToNext()) {
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
String personName = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
buffer.append(name + " " + card + " " + code + "\n");
}
return buffer.toString();
}
public String getAllData() {
//select _id,Name,Card,Code
SQLiteDatabase db = helper.getWritableDatabase();
String[] columns = {DataBaseHelper.UID, DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns, null, null, null, null, null);
StringBuffer buffer = new StringBuffer();
while (cursor.moveToNext()) {
int index1 = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int cid = cursor.getInt(index1);
String name = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
buffer.append(cid + " " + name + " " + card + " " + code + "\n");
}
return buffer.toString();
}
static class DataBaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "cardsdatabase";
private static final String TABLE_NAME = "CARDSTABLE";
private static final String UID = "_id";
private static final String NAME = "Name";
private static final String CARD = "Card";
private static final String CODE = "Code";
private static final int DATABASE_VERSION = 1;
private static final String CREATE_TABLE = "create table "
+ TABLE_NAME + " (" + UID
+ " integer primary key autoincrement, " + NAME
+ " text not null, " + CARD + " ext not null, " + CODE
+ " text not null);";
private static final String DROP_TABLE = "DROP TABLE IF EXISTS "
+ TABLE_NAME;
private Context context;
public DataBaseHelper(Context context) {
super(context, DataBaseHelper.DATABASE_NAME, null, DataBaseHelper.DATABASE_VERSION);
this.context = context;
Toast toast = Toast.makeText(context, "constructor called", Toast.LENGTH_LONG);
toast.show();
}
@Override
public void onCreate(SQLiteDatabase db) {
//CREATE TABLE CARDSTABLE(_id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(255));
try {
db.execSQL(CREATE_TABLE);
Toast toast = Toast.makeText(context, "onCreate called", Toast.LENGTH_LONG);
toast.show();
} catch (SQLException e) {
Toast toast = Toast.makeText(context, "" + e, Toast.LENGTH_SHORT);
toast.show();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
try {
Toast toast = Toast.makeText(context, "onUpgrade called", Toast.LENGTH_LONG);
toast.show();
db.execSQL(DROP_TABLE);
onCreate(db);
} catch (SQLException e) {
Toast toast = Toast.makeText(context, "" + e, Toast.LENGTH_LONG);
toast.show();
}
}
}
你的回答对我很有帮助,谢谢
编辑:
DataBean class:
public class DataBean {
//private variables
int _id;
String _name;
String _card_value;
String _card_code;
// Empty constructor
public DataBean(){
}
// constructor
public DataBean(int id, String name, String _card_value, String _card_code){
this._id = id;
this._name = name;
this._card_value = _card_value;
this._card_code = _card_code;
}
// constructor
public DataBean(String name, String _card_value, String _card_code){
this._name = name;
this._card_value = _card_value;
this._card_code = _card_code;
}
// getting ID
public int getID(){
return this._id;
}
// setting id
public void setID(int id){
this._id = id;
}
// getting name
public String getName(){
return this._name;
}
// setting name
public void setName(String name){
this._name = name;
}
// getting CardValue
public String getCardValue(){
return this._card_value;
}
// setting CardValue
public void setCardValue(String _card_value){
this._card_value = _card_value;
}
// getting CardCode
public String getCardCode(){
return this._card_code;
}
// setting CardCode
public void setCardCode(String _card_code){
this._card_code = _card_code;
}
}
这些行我添加到我的 DataBaseAdapter:
public DataBean getDat(String name){
DataBean bean=null;
SQLiteDatabase db=this.getReadableDatabase();
String[] columns = {DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns,DataBaseHelper.NAME+" = '"+name+"'", null, null, null, null);
if (cursor.moveToFirst()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int id = cursor.getInt(index);
String personName = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
bean = new DataBean(id, name, card, code);
}
return bean;
}
public List<DataBean> gelAllDat(){
List<DataBean> list = new ArrayList<>();
SQLiteDatabase db=this.getReadableDatabase();
String[] columns = {DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns,DataBaseHelper.NAME, null, null, null, null);
while (cursor.moveToNext()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int cid = cursor.getInt(index);
String name = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
DataBean bean = new DataBean(cid, name, card, code);
list.add(bean);
}
return list;
}
最后一个问题?我需要在 DataBaseAdapter?
中更改 insert data编辑 2:
我将此代码添加到我的 DataBaseAdapter:
public List<DataBean> getAllCards(){
List<DataBean> list=new ArrayList<>();
String query = "SELECT * FROM " + DataBaseHelper.TABLE_NAME;
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
while (cursor.moveToNext()) {
//int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
//int cid = cursor.getInt(index);
String name = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
DataBean bean = new DataBean(name, card, code);
list.add(bean);
}
return list;
}
public DataBean getData(String name) {
//select _id,Name,Card,Code
SQLiteDatabase db = helper.getReadableDatabase();
String[] columns = {DataBaseHelper.NAME, DataBaseHelper.CARD, DataBaseHelper.CODE};
DataBean bean=null;
Cursor cursor = db.query(DataBaseHelper.TABLE_NAME, columns, DataBaseHelper.NAME + " = '" + name + "'", null, null, null, null);
StringBuffer buffer = new StringBuffer();
while (cursor.moveToNext()) {
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
String personName = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
//buffer.append(name + " " + card + " " + code + "\n");
bean = new DataBean( name,card, code);
}
return bean;
}
您可以从一个 Bean 开始,对信息进行包含和建模,使其更易于实现。
public class DataBean{
protected int id;
protected String name;
protected String card;
protected String code;
//Setter, Getters and constructor
...
}
创建 DataBean 后,您可以将方法的 return 类型更改为 DataBean 或 List 并在每个方法中填充,而不是 return 包含所有字段的字符串。
public DataBean getData(String name){
...
DataBean bean = null;
if (cursor.moveToFirst()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int id = cursor.getInt(index);
String personName = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
bean = new DataBean(id, name, card, code);
}
return bean;
}
public List<DataBean> getAllData() {
List<DataBean> list = new ArrayList<>();
...
while (cursor.moveToNext()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int cid = cursor.getInt(index);
String name = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
DataBean bean = new DataBean(cid, name, card, code);
list.add(bean);
}
return list;
}
现在当你调用你的方法时你有一个 DataBean 对象,现在你需要编写你的适配器来在 RecyclerView 中显示信息。
首先需要 link 并在 Activity 中设置 RecyclerView。
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setAdapter(new DataBeanAdapter(dbAdapter.getAllData(), R.layout.item));
在您需要创建 DataBeanAdapter 和 ViewHolder 之后。
public class DataBeanAdapter extends RecyclerView.Adapter<DataBeanAdapter.ViewHolder>{
private List<DataBean> items;
private int itemLayout;
public DataBeanAdapter(List<DataBean> items, int itemLayout){
this.items = items;
this.itemLayout = itemLayout;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(itemLayout, parent, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
DataBean item = items.get(position);
holder.name.setText(item.getName());
holder.card.setText(item.getCard());
//All the thing you gonna show in the item
}
@Override
public int getItemCount() {
return items.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView name;
public TextView card;
public ViewHolder(View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.name);
card = (TextView) itemView.findViewById(R.id.card);
}
}
}
ViewHolder 的 ID、布局和属性取决于您要在 RecyclerView 中显示每个项目的对象。