实例四

界面的xml 是

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_height="fill_parent" android:layout_width="fill_parent">
<LinearLayout android:id="@+id/LinearLayout01" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent">
    <LinearLayout android:id="@+id/LinearLayout02" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="选择账目"  android:minWidth="80dip" android:textAppearance="?android:attr/textAppearanceLarge"></TextView>    
        <EditText android:id="@+id/edittext_acctitem" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="200dip" android:maxLines="1" android:editable="false" android:cursorVisible="false"></EditText>                 
    </LinearLayout>
    <View  android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider"/>
    <LinearLayout android:id="@+id/LinearLayout03" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <TextView android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="填入费用" android:minWidth="80dip" android:textAppearance="?android:attr/textAppearanceLarge"></TextView>
        <EditText android:id="@+id/Fee" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numeric="decimal" android:width="160dip"></EditText>
        <TextView android:id="@+id/TextView13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="(元)" android:textAppearance="?android:attr/textAppearanceLarge"></TextView>           
    </LinearLayout> 
    <View  android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider"/>
    <LinearLayout android:id="@+id/LinearLayout04" android:layout_height="wrap_content" android:layout_width="fill_parent">
        <TextView android:id="@+id/TextView02" android:layout_height="wrap_content" android:text="选择时间" android:layout_width="fill_parent" android:fadingEdge="horizontal" android:height="24dip" android:drawablePadding="2dip"></TextView>        
    </LinearLayout>
    
    <LinearLayout android:id="@+id/LinearLayout05" android:layout_width="wrap_content" android:layout_height="wrap_content">
        <TextView android:id="@+id/vdate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:width="120dip"></TextView>
        <Button android:id="@+id/BtnDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="+" android:textStyle="bold" android:textSize="24dip" android:height="30dip" android:width="30dip"></Button>
        <TextView android:id="@+id/vtime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:width="80dip" android:gravity="center_horizontal"></TextView>
        <Button android:id="@+id/BtnTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="+" android:textStyle="bold" android:textSize="24dip"></Button>     
    </LinearLayout> 
    <View  android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider"/>
    <LinearLayout android:id="@+id/LinearLayout06" android:layout_height="wrap_content" android:layout_width="fill_parent">
        <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="账目类型"  android:minWidth="80dip" android:textAppearance="?android:attr/textAppearanceLarge"></TextView>
        
       <Spinner android:id="@+id/Spinner01" android:layout_height="wrap_content" android:minWidth="200dip" android:layout_width="wrap_content"></Spinner>
    </LinearLayout> 
    <View  android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider"/>
    <TextView android:id="@+id/TextView07" android:layout_height="wrap_content" android:text="填写备注" android:layout_width="fill_parent"  android:height="24dip" ></TextView>
    <EditText android:id="@+id/EditTextDESC" android:layout_width="fill_parent" android:layout_height="wrap_content"  android:lines="4" android:gravity="top"></EditText>
    <View  android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider"/>
    <LinearLayout android:id="@+id/LinearLayout08" android:layout_height="wrap_content" android:layout_width="fill_parent">
    <Button android:id="@+id/BtnSave" android:width="160dip" android:text="保 存" android:textStyle="bold" android:textSize="24dip" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    <Button android:id="@+id/BtnCancel" android:width="160dip" android:text="取 消" android:textStyle="bold" android:textSize="24dip" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
   
</LinearLayout> 
 <View  android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider"/>
</LinearLayout> 

</ScrollView>
下面我们来看下spinner和cursor的用法.

主要就是一个SimpleCursorAdapter

代码如下

s1=(Spinner) findViewById(R.id.Spinner01);        
        String[] from= new String[]{"caption"};//需要显示游标里面的字段
        int[] to=new int[]{android.R.id.text1};
        Cursor cur=billdb.getUserid();     
        SimpleCursorAdapter mAdapter=new SimpleCursorAdapter(this,android.R.layout.simple_spinner_item, cur,from, to);      
        mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);           
        s1.setAdapter(mAdapter);
我在这儿居然搞了2天,其实写法一直没错,可是每次抱未知的行 _ID. 这个错误我也知道就是使用SimpleCursorAdapter  该方法

的游标里面必须包括一个_ID的字段. 可是我的表里面肯定有的. 在我重试了无数次后发现,区分大小写. 我倒!

 

而事实上我建表的语句是

db.execSQL("Create table tusers (_id integer primary key autoincrement," +
     "caption text not null)");

而我在函数getUserid 里面cursor定义是

public Cursor getUserid(){
     Log.v("cola","run get users cursor");
     return db.query("tusers", new String[]{"_ID", "caption" }, null, null, null, null, null);    

    }

你单独测试这个cursor是没有问题的.

 

这都没用问题,也就是在这儿是不区分大小写的.但是如果你用这个cursor 绑定到SimpleCursorAdapter 这个里面去,一定要和建表语句的一致,不然就出错. 这儿把我郁闷坏了.

 

上面界面布局和这个spinner 搞定后,后面就是完善代码,完善界面的功能.没有新的地方了.

在用户选择完账目,填写费用,选择时间,账目类型后就保存进数据库bills表. 下周开始我计划使用一个grid把录入的数据显示出来,

还不知道grid支持横向滚动不,如果不支持估计又要自定义控件了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值