寒假第26天(安卓开发六)
我们开始的页面是我们的所有条目所在的月份,所以我们要设计监听事件,当点击时就会切换到这个月的账单界面。
我们还要将这个月份的值带入下一个页面,然后根据这个值来插寻账本条目。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String itemDate=adapter.getItem(position);
Intent intent=new Intent(monthActivity.this,MainActivity.class);
intent.putExtra("date",itemDate);
startActivity(intent);
}
于是之前我们的查询语句也要进行修改,这里使用的时模糊查询,因为我们传入的是具体某年某月,我们要根据这个来输出账本中有的所有在这个月中的记录。
先在这个页面中取出这个值
Intent intent = getIntent();
month11 = intent.getStringExtra("date");
然后查询
SQLiteDatabase db=helper.getReadableDatabase();
Cursor cursor=db.query("account2",null,"Date like '"+month11+"%'",null,null,
null,null);
我们还要设计一个计算每月总和的元件放置在这个页面中
我们创建一个大数类,数据初始化为0,在我们进入这个页面时就会直接计算出来。
private void initData() {
list=new ArrayList<>();
SQLiteDatabase db=helper.getReadableDatabase();
Cursor cursor=db.query("account2",null,"Date like '"+month11+"%'",null,null,
null,null);
BigDecimal sum=new BigDecimal(0);
while (cursor.moveToNext()){
costList clist=new costList();//构造实例
BigDecimal temp=new BigDecimal(cursor.getString(cursor.getColumnIndex("Money")));
sum=sum.add(temp);
clist.setSe(cursor.getString(cursor.getColumnIndex("Se")));
clist.set_id(cursor.getString(cursor.getColumnIndex("_id")));
clist.setTitle(cursor.getString(cursor.getColumnIndex("Title")));
clist.setDate(cursor.getString(cursor.getColumnIndex("Date")));
clist.setMoney(temp.toString());
list.add(clist);
}
//绑定适配器
listAdapter=new ListAdapter(this,list);
listView.setAdapter(listAdapter);
textView.setText(sum.toString());
db.close();
}
这个视图是一个横向的,所以我们要单独写一个xml文件来放置
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="50dp">
<TextView
android:layout_width="180dp"
android:layout_height="50dp"
android:gravity="left"
android:textSize="25sp"
android:text=" 总计:" />
<TextView
android:id="@+id/t_money"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:gravity="right|end"
android:textSize="25sp"
android:textColor="#ff0000"
android:text=""/>
<TextView
android:layout_width="180dp"
android:layout_height="50dp"
android:gravity="left"
android:textSize="25sp"
android:text="(元)" />
</LinearLayout>
将它放入大布局的最底部
<include layout="@layout/total"/>
效果是这样

这样我们在主页面点击其中的月份就能进入对应的月份账本页面了。
点击页面下方的+就能添加信息了。


浙公网安备 33010602011771号