今天完成了适配器MyAdapter,遇到了很多的问题,主要是粗心
关于android studio的layout的xml文件的创建:
https://blog.csdn.net/qqq824908000/article/details/59174344
这篇很详细!!!
package bjfu.it.sun.cashbook; import android.content.Context; import android.database.Cursor; import android.provider.MediaStore; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import androidx.recyclerview.widget.RecyclerView; import java.util.List; public class MyAdapter extends BaseAdapter { private Context context; private Cursor cursor; private LinearLayout layout; private LayoutInflater mLayoutInflater; public MyAdapter (Context context, Cursor cursor){ this.context = context; this.cursor = cursor; } @Override public int getCount() { return cursor.getCount(); } @Override public Object getItem(int position) { return cursor.getPosition(); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(context); layout = (LinearLayout) inflater.inflate(R.layout.call, null); TextView contenttv = (TextView) layout.findViewById(R.id.list_content); TextView coasttv = (TextView) layout.findViewById(R.id.list_coast); TextView timetv = (TextView) layout.findViewById(R.id.list_time); cursor.moveToPosition(position);//cursor需要自己查询 //获取的内容 String content = cursor.getString(cursor.getColumnIndex("context")); String coast = cursor.getString(cursor.getColumnIndex("coast")); String time = cursor.getString(cursor.getColumnIndex("time")); //传递 contenttv.setText(content); coasttv.setText(coast) ; timetv.setText(time); return layout; } }
MainActivity:
package bjfu.it.sun.cashbook; import android.content.Context; import android.database.Cursor; import android.provider.MediaStore; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import androidx.recyclerview.widget.RecyclerView; import java.util.List; public class MyAdapter extends BaseAdapter { private Context context; private Cursor cursor; private LinearLayout layout; private LayoutInflater mLayoutInflater; public MyAdapter (Context context, Cursor cursor){ this.context = context; this.cursor = cursor; } @Override public int getCount() { return cursor.getCount(); } @Override public Object getItem(int position) { return cursor.getPosition(); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(context); layout = (LinearLayout) inflater.inflate(R.layout.call, null); TextView contenttv = (TextView) layout.findViewById(R.id.list_content); TextView coasttv = (TextView) layout.findViewById(R.id.list_coast); TextView timetv = (TextView) layout.findViewById(R.id.list_time); cursor.moveToPosition(position);//cursor需要自己查询 //获取的内容 String content = cursor.getString(cursor.getColumnIndex("context")); String coast = cursor.getString(cursor.getColumnIndex("coast")); String time = cursor.getString(cursor.getColumnIndex("time")); //传递 contenttv.setText(content); coasttv.setText(coast) ; timetv.setText(time); return layout; } }
明天继续