首页 > 其他分享 >安卓开发八——页面切换的关联

安卓开发八——页面切换的关联

时间:2024-02-03 19:37:06浏览次数:23  
标签:安卓 db cursor clist 切换 new null 页面

我们开始的页面是我们的所有条目所在的月份,所以我们要设计监听事件,当点击时就会切换到这个月的账单界面。

我们还要将这个月份的值带入下一个页面,然后根据这个值来插寻账本条目。

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"/>

效果是这样

这样我们在主页面点击其中的月份就能进入对应的月份账本页面了。

点击页面下方的+就能添加信息了。

标签:安卓,db,cursor,clist,切换,new,null,页面
From: https://www.cnblogs.com/zhenaifen/p/17999046

相关文章

  • 安卓开发七——主管理页面
    新增月份管理页面,将新增账本移植到这个页面主页面视图<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height......
  • 安卓开发六——账本的条目视图的适配
    我们的一条数据项目包括,收入(指出)、说明、日期、金额四项,所以我们要自定义一个适配器这里适配器的一个列表的各个单位的类型是一个打包好的类的类型。这个类也是自己创建的packagecom.example.myapplication;publicclasscostList{privateString_id;privateS......
  • 安卓开发五——创建数据库和增加数据
    packagecom.example.myapplication;importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteOpenHelper;publicclassDBHelperextendsSQLiteOpenHelper{privatestaticintDB_VERSION=1;......
  • 安卓开发四——账本基本页面
    账本基本页面就是一个添加页面,一个浏览页面,浏览页面的一条数据项是一个视图。<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto&quo......
  • 安卓开发十——调试设置应用图标和源代码
    我们要设置图标和名称只需要修改这三个值就就可以了android:icon="@drawable/appimag"android:label="记账本"android:roundIcon="@drawable/appimag"然后最后的效果是这样的    源代码:<?xmlversion="1.0"encoding="utf-8&......
  • 安卓开发九——长按删除记录和定时刷新页面
    这里我们完成了账本条目数据的查看方法和账本条目的添加,但是当我们发现账本的数据有错误是,我们目前还不能删除。于是我们接下来要完成条目的删除的功能。这里我们在查看某个的账本的明细的页面来操作,我这里采用设置长按下删除。listView.setOnItemLongClickListener(new......
  • 安卓开发二——项目内容和页面跳转
     创建一个初始目录后会又以下的几个文件目录manifests中有一个Androidmanifests.xml的文件它包含了我们这个软件的图标、名字等的基本信息 其中的activity标签中是我们的app所要使用的页面的注册信息 Java的文件目录中我们主要使用的就是第一个文件目录,其中的Java代码包......
  • 安卓开发1——安装Android studio
    去网上找Android的studio1的下载教程找到对应的下载链接,下载 因为我有安装完成后就把下载的软件安装的文件删除的习惯所以就不展示了具体的安装教程可以看AndroidStudio安装配置教程-Windows(详细版)-CSDN博客 安装后新建项目完成后在最右侧的第三个可以挑选自己安卓......
  • man 切换颜色配置
    在macOS中man命令显示的命令手册默认是没有颜色的。为了使man命令的输出更为生动,可以使用如下两种方法修改man命令的颜色配置。方法一:设置环境变量在你的.zshrc/.bashrc中添加以下行:exportLESS_TERMCAP_mb=$'\e[1;32m'\LESS_TERMCAP_md=$'\e[1;32m'\......
  • Trino-登录WebUI页面报错,日志中提示:
    问题描述启动Trino客户端执行showcatalogs时报错:Errorstartingqueryathttp://localhost:8080/v1/statementreturnedaninvalidresponse。 此时在浏览器中访问TrinoWebUI,http://192.168.80.133:8080,页面报错:404 NotFound. 问题原因(1)查询Trino日志发现:BindEx......