Listing 917 srccomcookbookdatastorageDisplayDiariesjava

package com.cookbook.datastorage;

import java.text.DateFormat; import java.util.ArrayList; import java.util.Date;

import android.app.ListActivity;

import android.content.Context; import android.database.Cursor;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup; import android.widget.BaseAdapter;

import android.widget.TextView;

import com.cookbook.data.Constants; import com.cookbook.data.MyDB;

public class DisplayDiaries extends ListActivity { MyDB dba;

DiaryAdapter myAdapter; private class MyDiary{

public MyDiary(String t, String c, String r){ title=t; content=c; recorddate=r;

public String title; public String content; public String recorddate;

^Override protected void onCreate(Bundle savedlnstanceState) { dba = new MyDB(this); dba.open();

setContentView(R.layout.diaries);

super.onCreate(savedlnstanceState); myAdapter = new DiaryAdapter(this); this.setListAdapter(myAdapter);

private class DiaryAdapter extends BaseAdapter { private Layoutlnflater mInflater; private ArrayList<MyDiary> diaries; public DiaryAdapter(Context context) {

mInflater = Layoutlnflater.from(context); diaries = new ArrayList<MyDiary>(); getdata();

public void getdata(){

Cursor c = dba.getdiaries(); startManagingCursor(c); if(c.moveToFirst()){ do{

String title =

c.getString(c.getColumnIndex(Constants.TITLE_NAME));

String content =

c.getString(c.getColumnIndex(Constants.CONTENT_NAME)); DateFormat dateFormat =

DateFormat.getDateTimeInstance(); String datedata = dateFormat.format(new Date(c.getLong(c.getColumnIndex(

Constants.DATE_NAME))).getTime()); MyDiary temp = new MyDiary(title,content,datedata); diaries.add(temp); } while(c.moveToNext());

@Override public int getCount() {return diaries.size();} public MyDiary getItem(int i) {return diaries.get(i);} public long getItemId(int i) {return i;}

public View getView(int arg0, View argl, ViewGroup arg2) { final ViewHolder holder; View v = argl;

v = mInflater.inflate(R.layout.diaryrow, null); holder = new ViewHolder();

holder.mTitle = (TextView)v.findViewById(R.id.name); holder.mDate = (TextView)v.findViewById(R.id.datetext); v.setTag(holder); } else {

holder.mdiary = getItem(argO);

holder.mTitle.setText(holder.mdiary.title);

holder.mDate.setText(holder.mdiary.recorddate);

v.setTag(holder);

return v;

public class ViewHolder { MyDiary mdiary; TextView mTitle; TextView mDate;

testl

May 11, 2010 10:41:34 PM

hello

May 11, 2010 11:53:12 PM

new content

May 16, 2010 10:21:20 AM

Watching TV

May 16,2010 1:55:10 PM

Watching TV

May 16,2010 1:55:10 PM

Figure 9.4 The ListView of diary entries.
0 0

Post a comment

  • Receive news updates via email from this site