Android 개인 재 테 크 도구 5:계산서 내 역 표시
다음 그림 은 최종 효과 그림 입 니 다:
이 인 터 페 이 스 를 설계 할 때 나 는 여러 가지 방안 을 고려 한 적 이 있다.원래 gridview 를 사용 하려 고 했 는데 이름 이 내 가 필요 로 하 는 것 같 아서.그러나 나중에 자 료 를 찾 아 보고 실험 을 해 보 니 내 가 상 상 했 던 것 과 차이 가 있 었 다.그래서 현재 의 이런 방식 을 채택 했다.Listview 를 사용 합 니 다.
이 인터페이스 구 조 는 실제 적 으로 매우 간단 하 다.바로 위의 표 머리(Linearlayout)이 고 중간 에 Listview 이 며 아래 는 각주(Linearlayout)이다.
어떻게 listview 의 내용 을 실현 합 니까?이것 은 주로 Adapter 의 용법 을 이해 해 야 한다.
SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
자바 코드
String[] from=new String[] {"rowid","name", "fee","sdate","desc" };
int[] to=new int[] { R.id.item1, R.id.item2,R.id.item3,R.id.item4,R.id.item5 };
SimpleCursorAdapter mAdapter=new SimpleCursorAdapter(this,R.layout.grid_items, cur,from, to);
lv.setAdapter(mAdapter);
여 기 는 view 의 스타일 과 cursor 만 준비 하면 됩 니 다.예컨대
R.layout.grid_아 이 템
XML/HTML 코드
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/item1" android:layout_height="fill_parent"
android:layout_width="wrap_content" android:width="20dip"
/>
<TextView android:id="@+id/item2"
android:layout_height="fill_parent"
android:text=" "
android:width="60dip" android:layout_width="wrap_content"/>
/>
<TextView android:id="@+id/item3"
android:text=" ( )"
android:textSize="14dip" android:width="60dip" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:textStyle="bold|italic"
/>
<TextView android:id="@+id/item4"
android:layout_height="fill_parent"
android:text=" "
android:width="80dip"
android:layout_width="wrap_content"
/>
<TextView android:id="@+id/item5"
android:layout_height="fill_parent"
android:text=" "
android:width="100dip" android:layout_width="wrap_content"
/>
</LinearLayout>
Adapter 의 to 인자 에서 이 TextView 를 지정 하여 Cursor 의 값 을 사용 합 니 다.나의 cursor 는 바로 이 필드 들 을 포함 하고 있 습 니 다."rowid","name","fee","sdate","desc".
이 를 준비 하고 lv.setAdapter(mAdapter)방법 으로 연결 할 수 있 습 니 다.
다음은 구체 적 인 코드 파일 을 드 립 니 다.
Grid_bills.java
자바 코드
package com.cola.ui;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.AbsoluteLayout;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
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) {
super.onCreate(icicle);
setTitle("ColaBox- (2008-11 )");
setContentView( R.layout.grid_bills) ;
billdb = new BilldbHelper(this);
Cursor cur=billdb.getBills();
ListView lv=(ListView)findViewById(R.id.listview);
String[] from=new String[] {"rowid","name", "fee","sdate","desc" };
int[] to=new int[] { R.id.item1, R.id.item2,R.id.item3,R.id.item4,R.id.item5 };
SimpleCursorAdapter mAdapter=new SimpleCursorAdapter(this,R.layout.grid_items, cur,from, to);
lv.setAdapter(mAdapter);
//getBillsTotal
total=(TextView)findViewById(R.id.totalitem);
total.setText(billdb.getBillsTotal("2008-11"));
}
grid_item.xmlXML/HTML 코드
<?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"
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/layouthead"
android:background="#ffCded8b" android:layout_height="fill_parent" android:layout_width="fill_parent" android:focusable="true" android:clickable="true" android:focusableInTouchMode="true" android:keepScreenOn="true">
<TextView android:id="@+id/item1" android:layout_height="fill_parent"
android:layout_width="wrap_content" android:width="20dip"
/>
<TextView android:id="@+id/item2"
android:layout_height="fill_parent"
android:text=" "
android:textStyle="bold" android:width="60dip" android:layout_width="wrap_content"/>
/>
<TextView android:id="@+id/item3"
android:text=" ( )"
android:textSize="14dip" android:textStyle="bold" android:width="60dip" android:layout_width="wrap_content"
android:layout_height="fill_parent"/>
<TextView android:id="@+id/item4"
android:layout_height="fill_parent"
android:text=" "
android:textSize="14dip" android:textStyle="bold" android:width="80dip" android:layout_width="wrap_content"
/>
<TextView android:id="@+id/item5"
android:layout_height="fill_parent"
android:text=" "
android:textSize="14dip" android:textStyle="bold" android:width="100dip" android:layout_width="wrap_content"
/>
</LinearLayout>
<View android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider"/>
<LinearLayout android:id="@+id/layout" android:layout_width="wrap_content" android:layout_height="fill_parent" android:minHeight="372dip">
<ListView android:id="@+id/listview" android:layout_height="fill_parent" android:layout_width="fill_parent"></ListView>
</LinearLayout>
<LinearLayout android:id="@+id/layoutfoot"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:background="#ffCded8b">
<TextView android:id="@+id/totalitem"
android:layout_height="fill_parent"
android:text=" :2009.33 :3000.87 :-1000.9"
android:textStyle="bold" android:layout_width="fill_parent" />
/>
</LinearLayout>
</LinearLayout>
</ScrollView>
이번에 저 는 sqlite 의 sql 에서 약간의 번 거 로 움 을 만 났 습 니 다.아직 해결 되 지 않 았 습 니 다.바로 제 가 데이터베이스 에 저장 하 는 비용 은 int 형 이 고 단위 로 나 뉘 었 습 니 다.나 는 데이터베이스 에서 select fee/100 from bills 를 꺼 냈 다.하지만 정 리 된 수 치 를 보 여 줍 니 다.정확 한 문법 이 어떤 모양 인지 모 르 겠 습 니 다.뒤에 문자 로 표시 하고 싶 습 니 다.select fee/100||'from bills;이렇게 하면 listview 에서 소 수 를 출력 할 수 있 습 니 다.근 데 99999.99/100 수출 이 1000000 원 이 더 라 고요.제 가 adb 셸 에서 조회 한 것 은 999999.99 입 니까?listview 에 도 착 했 을 때 1000000 이 되 었 습 니 다.Adapter 의 문 자 를 꺼 내 서 getString 방법 을 사용 한 것 같 습 니 다.
시리즈 글:
Android 개인 재 테 크 도구 6:계산서 내 역 표시
Android 개인 재 테 크 도구 5:계산서 내 역 표시
Android 개인 재 테 크 도구 4:계산서 페이지 추가
Android 개인 재 테 크 도구 3:계산서 페이지 추가
Android 개인 재 테 크 도구 2:SQLite 를 사용 하여 시작 할 때 데이터 초기 화
Android 개인 재 태 크 도구 1:프로젝트 개요 와 시작 인터페이스의 실현
이상 은 계산서 내 역 을 표시 하 는 기능 의 실현 에 관 한 것 입 니 다.추 후 관련 기능 을 계속 추가 하 겠 습 니 다.본 사이트 에 대한 지원 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.