2021年2月21日 记账本开发04

今天完成了适配器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;
    }
}

 明天继续

原文地址:https://www.cnblogs.com/j-y-s/p/14461551.html