返回顶部

一缕半夏微光

温柔半两,从容一生

导航

开发家庭记账本APP——进度十

今天将数据库中记录的数据全部导入到主页面中,进行一个收入及支出的记录的显示

代码如下:

适配器AccountAdapter.java

 1 import android.content.Context;
 2 import android.view.LayoutInflater;
 3 import android.view.View;
 4 import android.view.ViewGroup;
 5 import android.widget.ArrayAdapter;
 6 import android.widget.TextView;
 7 
 8 import java.util.List;
 9 
10 public class AccountAdapter extends ArrayAdapter {
11     private final int resourceId;
12     public AccountAdapter(Context context,int textViewResourceId,List<Account> objects){
13         super(context,textViewResourceId,objects);
14         resourceId=textViewResourceId;
15     }
16     @Override
17     public View getView(int position, View convertView, ViewGroup parent){
18         Account account = (Account) getItem(position); // 获取当前项的Account/实例
19         View view = LayoutInflater.from(getContext()).inflate(resourceId, null);//实例化一个对象
20         TextView typetv,nametv,moneytv,timetv,notetv;
21         typetv=view.findViewById(R.id.item_main_lv_type);
22         nametv=view.findViewById(R.id.item_main_lv_name);
23         moneytv=view.findViewById(R.id.item_main_lv_money);
24         timetv=view.findViewById(R.id.item_main_lv_time);
25         notetv=view.findViewById(R.id.item_main_lv_note);
26         typetv.setText(account.getType());
27         nametv.setText(account.getName());
28         moneytv.setText(account.getMoney());
29         timetv.setText(account.getTime());
30         notetv.setText(account.getNote());
31         return view;
32     }
33 }

MainActivity.java

 1 import androidx.appcompat.app.AppCompatActivity;
 2 
 3 import android.content.Intent;
 4 import android.database.Cursor;
 5 import android.database.sqlite.SQLiteDatabase;
 6 import android.os.Bundle;
 7 import android.view.View;
 8 import android.widget.ImageButton;
 9 import android.widget.ListView;
10 import android.widget.Toast;
11 
12 import java.util.ArrayList;
13 import java.util.List;
14 
15 public class MainActivity extends AppCompatActivity {//ListView
16     private List<Account> accountList=new ArrayList<Account>();
17     private ListView listView;
18 
19     @Override
20     protected void onCreate(Bundle savedInstanceState) {
21         super.onCreate(savedInstanceState);
22         setContentView(R.layout.activity_main);
23 
24         //ListView
25         initAccount();//初始化
26         AccountAdapter adapter=new AccountAdapter(MainActivity.this,R.layout.item,accountList);
27         listView=findViewById(R.id.main_lv);//绑定listview
28         listView.setAdapter(adapter);//设置adapter
29 
30     }
31     private void initAccount(){
32         //从数据库里面把数据取出来
33         MyDatabaseHelper databaseHelper=new MyDatabaseHelper(this);
34         SQLiteDatabase db=databaseHelper.getWritableDatabase();
35         Cursor cursor=db.query("AcountBook",null,null,null,null,null,null);
36         while(cursor.moveToNext()){
37             String type=cursor.getString(cursor.getColumnIndex("type"));
38             String name=cursor.getString(cursor.getColumnIndex("name"));
39             String money=cursor.getString(cursor.getColumnIndex("money"));
40             String time=cursor.getString(cursor.getColumnIndex("time"));
41             String note=cursor.getString(cursor.getColumnIndex("note"));
42             Account account=new Account(type,name,note,time,money);
43             accountList.add(account);
44         }
45     }
46 }

 

posted on 2021-02-22 22:15  一缕半夏微光  阅读(131)  评论(0编辑  收藏  举报