Computation on db data then list them using either SimpleCursorAdapter or ArrayAdapter

by kc2uno_CMU » Fri, 23 Apr 2010 13:53:48 GMT


Sponsored Links
 Hi all,

I juststarted programming in android a few weeks ago, so I am not
entirely sure how to deal with listing values. Please help me out!
I have some questions regarding displaying data sets from db in a
list. Currently I have a cursor returned by my db points to a list of
rows and I want display 2 columns values in a single row of the list.
The row xml looks like this:

     <TextView android:id="@+id/text1"
         android:textSize="16sp"
         android:textStyle="bold"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"/>

     <TextView android:id="@+id/text2"
         android:textSize="14sp"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"/>

so I was thinking using simplecursoradapter which supposedly makes my
life easier by displaying the data in a list. However that is only
true if I want to display the raw data.
For the purpose of my program I need to do some computations on the
raw data sets, then display them. I am not sure how to do that using
SimpleCursorAdapter. Here's how I display the raw data:

       String[] from = new String[]
{BtDbAdapter.KEY_EX_TYPE,BtDbAdapter.KEY_EX_TIMESTAMP};

       int[] to = new int[]{R.id.text1, R.id.text2};

        // Now create a simple cursor adapter and set it to display
        SimpleCursorAdapter records =
                    new SimpleCursorAdapter(this, R.layout.exset_row,
mExsetCursor, from, to);

        setListAdapter(records);

Is there a way to do computation on the data in those rows before I
bind it with the SimpleCursorAdapter? I was trying to use an
alternative way of doing this by using arraylist and arrayadapter, but
that way I dont know to how achieve displaying 2 items in a single
row.

This is my code for using arrayadapter which only display 1 text in a
row instead of 2 textviews in a row:

      //fill in the array
      timestamp_arr = new ArrayList<String>();
      type_arr = new ArrayList<String>();
      fillRecord();

      Log.d(TAG,"setting now in recordlist");
          setListAdapter(new ArrayAdapter<String>(this,
R.layout.list_item,timestamp_arr));
          setListAdapter(new ArrayAdapter<String>(this,
R.layout.list_item2,type_arr));

It's very obvious that it only displays one textview in a row because
I set the second arrayadapter overwrites the first one! I was trying
to use R.id.text1 and R.id.text2 for them, but it gave me some errors
saying
04-23 01:40:58.658: ERROR/AndroidRuntime(3309):
android.content.res.Resources$NotFoundException: Resource ID
#0x7f070008 type #0x12 is not valid

I believe the second method can achieve this, but I'm not sure how do
deal with the layout problems, so if you any suggestions, please post
them out. Thank you!!

--



Computation on db data then list them using either SimpleCursorAdapter or ArrayAdapter

by skink » Fri, 23 Apr 2010 15:49:37 GMT


 


use 
 http://developer.android.com/intl/fr/reference/android/widget/ResourceCursorAdapter.html 
and override bindView method

pskink

--


Sponsored Links


Other Threads

1. Android Palembang

Ada orang-orang Palembang ngak ya...?
biar kita bisa kumpul2 kayak yang lain.....

Thanks.

-- 
===============
"

2. OOT: Internet Junkie

Selamat pagi, maaf oot dikit. 
Mau liat para internet junkie tidur? 
Ada disini http://gpgo.in/sn 

Follow us on twitter @gopegodotcom

www.gopego.com
Sent from my iPhone

-- 
===============
"

3. Edit Bitmap Pixels in Native Code?

4. managing the apps in Android market

5. RERUN e-lifestyle MetroTV ttg programmer GadgetHARIINIpk. 11.05 WIB

6. looking for keen java script developer

7. Wifi that works with the Nexus One