範文齋

位置:首頁 > 行業範文 > 理財

Android 個人理財工具顯示賬單明細

理財7.52K

前面我們已經將每個月的收支明細存入到SQLite的數據表中,本文將實現從SQLite的數據表中取出這些數據顯示爲賬單明細界面。

Android 個人理財工具顯示賬單明細

下圖是最終的效果圖:

設計該界面時我考慮過好幾個方案。本來準備使用一個gridview,因爲覺得名字很像我需要的東西。可是後來查了一些資料,並且做了點實驗,發現和我想象的有些差距。於是採用了目前這種方式。使用Listview。

這個界面佈局實際上很簡單,就是上面一個表頭(Linearlayout),中間一個Listview,下面是一個腳註(Linearlayout)。

如何實現listview其中內容?這個主要就是要理解Adapter的用法。

SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)

Java代碼

String[] from=new String[] {"rowid","name", "fee","sdate","desc" }; int[] to=new int[] { 1, 2,3,4,5 }; SimpleCursorAdapter mAdapter=new SimpleCursorAdapter(this,_items, cur,from, to); dapter(mAdapter);

這裏我們只需要準備好view的`樣式和cursor就可以了。

例如本例中的

_items是

XML/HTML代碼

<"1.0" encoding="utf-8">/>

在Adapter中的to 參數中,指定這些TextView使用那些Cursor的值。

我的cursor就是含有這些字段"rowid","name","fee","sdate","desc"。

準備好這些,使用dapter(mAdapter)方法就可以綁定了。

下面給出具體代碼文件

Grid_

Java代碼

package ; import yList; import Map; import ; import ; import vity; import or; import le; import ; import vent; import ; import luteLayout; import Text; import View; import arLayout; import View; import leCursorAdapter; import View; public class Grid_bills extends Activity { BilldbHelper billdb; View sv; EditText edit; AbsoluteLayout alayout; int a=10,b=10; GridView grd; TextView total; protected GridView listHands = null ; public void onCreate(Bundle icicle) { eate(icicle); setTitle("ColaBox-賬單明細(2008-11月)"); setContentView( _bills) ; billdb = new BilldbHelper(this); Cursor cur=ills(); ListView lv=(ListView)findViewById(view); String[] from=new String[] {"rowid","name", "fee","sdate","desc" }; int[] to=new int[] { 1, 2,3,4,5 }; SimpleCursorAdapter mAdapter=new SimpleCursorAdapter(this,_items, cur,from, to); dapter(mAdapter); //getBillsTotal total=(TextView)findViewById(litem); ext(illsTotal("2008-11")); }

grid_

XML/HTML代碼

<"1.0" encoding="utf-8">/>/>

這次我在sqlite的sql上面遇到點麻煩,目前還沒搞定,就是我保存在數據庫中的費用是int型,分爲單位。我從數據庫中取出來是 select fee/100 from bills ;但是顯示的卻是取整後的數值。

不知道正確語法應該是什麼樣子,後面我想拼成字符顯示應該可以,我就試了 select fee/100||' from bills;,這樣就可以在listview上面輸出小數。可是我發現999999.99/100 輸出卻是1000000。我在adb shell裏面查詢還是999999.99,到了listview時就變成了1000000,我估計可能是Adapter 裏面的字符取出來用了getString的方法。