oh Change this line in the bindView.

int id = this.c.getColumnIndex(android.provider.Contacts.Phones.PERSON_ID);

On Tue, Dec 16, 2008 at 10:26 AM, for android <forandr...@gmail.com> wrote:

>
> --------------------------------------------------------------------------------------------------------------------------------------------
> public class MyCursorAdapter extends SimpleCursorAdapter {
>     private Cursor c;
>     private Context context;
>
>     public MyCursorAdapter(Context context, int layout, Cursor c,
>             String[] from, int[] to) {
>
>         super(context, layout, c, from, to);
>         this.c = c;
>         this.context = context;
>         // TODO Auto-generated constructor stub
>     }
>
>     /* (non-Javadoc)
>      * @see android.widget.SimpleCursorAdapter#bindView(android.view.View,
> android.content.Context, android.database.Cursor)
>      */
>     @Override
>     public void bindView(View view, Context context, Cursor cursor) {
>         // TODO Auto-generated method stub
>         ImageView imageView = (ImageView)
> view.findViewById(R.id.contact_image);
>
>         int id = this.c.getColumnIndex(Phones._ID);
>         Uri uri = ContentUris
>                 .withAppendedId(People.CONTENT_URI, this.c.getLong(id));
>
>         Bitmap bitmap = People.loadContactPhoto(this.context, uri,
> R.drawable.icon, null);
>
>         imageView.setImageBitmap(bitmap);
>
>         super.bindView(view, context, cursor);
>     }
>
>
>
> }
>
> -------------------------------------------------------------------------------
> @Override
>     public void onCreate(Bundle savedInstanceState) {
>         super.onCreate(savedInstanceState);
>         Cursor c = getContentResolver().query(Phones.CONTENT_URI, null,
> null, null, null);
>         startManagingCursor(c);
>         // Map Cursor columns to views defined in simple_list_item_2.xml
>         MyCursorAdapter adapter = new MyCursorAdapter(this,
>                 R.layout.my_list, c,
>                         new String[] { Phones.NAME },
>                         new int[] { R.id.contacts });
>        /* ListAdapter adapter = new SimpleCursorAdapter(this,
>                 android.R.layout.simple_list_item_2, c,
>                         new String[] { Phones.NAME, Phones.NUMBER },
>                         new int[] { android.R.id.text1, android.R.id.text2
> });
>         setListAdapter(adapter);*/
>         setListAdapter(adapter);
>     }
>
> --------------------------------------------------------------------------------------------
> <LinearLayout android:layout_width="fill_parent"
>         android:layout_height="fill_parent"
>     xmlns:android="http://schemas.android.com/apk/res/android";>
>     <ImageView android:id="@+id/contact_image" android:gravity="left"
>         android:layout_width="wrap_content"
>         android:layout_height="wrap_content" />
>     <TextView android:id="@+id/contacts"
>         android:layout_width="fill_parent"
>         android:layout_height="wrap_content" android:textSize="20px" />
> </LinearLayout>
>
> --------------------------------------------------------------------------------------
>
>
> On Mon, Dec 15, 2008 at 3:07 PM, Luke w <hit...@gmail.com> wrote:
>
>> Thanks "for android", i finally extends BaseAdapter and override getView()
>> function, it works.
>>
>> Produce a class to hold the contact people's information like name,
>> number, icon, and add all the people to an ArrayList, finally
>> setListAdapter(peopleAdapter);
>> You see, first i access contact cursor and save all the people's
>> information to another structure i made  it myself.
>> private static ArrayList<ContactItem> contacts = new
>> ArrayList<ContactItem>();
>>
>> So, it is a stupid method i guess, i think there maybe a more efficient
>> method to do this by extends CursorAdapter.
>> Do you have any idea?
>>
>> The key point is how to get the icon cursor, because the name and number
>> is easy to access by contact cursor, but the icon cursor is a big problem.
>>
>> Thanks again and hope for your comment. :)
>>
>> BR,
>> Luke Wang
>>
>> Stephen Leacock  - "I detest life-insurance agents: they always argue that
>> I shall some day die, which is not so."
>>
>> On Fri, Dec 12, 2008 at 6:39 PM, for android <forandr...@gmail.com>wrote:
>>
>>> public void 
>>> bindView(View<http://code.google.com/android/reference/android/view/View.html>view,
>>> Context<http://code.google.com/android/reference/android/content/Context.html>context,
>>> Cursor<http://code.google.com/android/reference/android/database/Cursor.html>cursor){
>>>  LayoutInflater inflater = (LayoutInflater) context
>>>                 .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
>>> View v = inflater.inflate(layout, view, false);
>>> ImageView imageView = (ImageView) v.findViewById(R.id.contact_image);
>>> imageView.setImage(contactImage) ;
>>>
>>> }
>>> On Fri, Dec 12, 2008 at 3:49 PM, Luke w <hit...@gmail.com> wrote:
>>>
>>>> Hi Jarkman, Thanks for your reply, could you please give me some
>>>> direction on how to bind the data
>>>>   in bindView?
>>>>
>>>> My english is not good enough to understand the document on this part
>>>> clearly. so alway confused.
>>>> please give me more information on the CursorAdapter class. or other
>>>> Adapter.
>>>>
>>>> Thanks very much.
>>>>
>>>> BR,
>>>> Luke Wang
>>>>
>>>> Jay Leno  - "The reason there are two senators for each state is so that
>>>> one can be the designated driver."
>>>>
>>>> On Fri, Dec 12, 2008 at 6:05 PM, jarkman <jark...@gmail.com> wrote:
>>>>
>>>>>
>>>>> I think you'll need to extend CursorAdapter, and bind the data
>>>>> yourself in its bindView.
>>>>>
>>>>> Richard
>>>>>
>>>>>
>>>>> On Dec 12, 9:59 am, "Luke w" <hit...@gmail.com> wrote:
>>>>> > Please look at the image attached, i just want a List looks like
>>>>> that, but
>>>>> > it is not completed, i need the contact icon to placed to the left of
>>>>> each
>>>>> > item.  what should i do?
>>>>> >
>>>>> > I want do this like the code below:
>>>>> >
>>>>> >        ListAdapter adapter = new SimpleCursorAdapter(this,
>>>>> >                 R.layout.image_list, c, new String[] { Phones.NAME,
>>>>> >                         Phones.NUMBER, Phones._ID }, new int[] {
>>>>> R.id.name,
>>>>> > R.id.number, R.id.id });
>>>>> >         setListAdapter(adapter);
>>>>> > or, should i must extends a SimpleCursorAdapter ? If so, how to?
>>>>> please give
>>>>> > me some advice or some link to the tutorials.
>>>>> > Thanks very much.
>>>>> >
>>>>> > BR,
>>>>> > Luke Wang
>>>>> >
>>>>> > Robert Orben  - "Older people shouldn't eat health food, they need
>>>>> all the
>>>>> > preservatives they can get."
>>>>> >
>>>>> > On Fri, Dec 12, 2008 at 12:42 PM, for android <forandr...@gmail.com>
>>>>> wrote:
>>>>> > > int pplId = managedCursor.getColumnIndex(People._ID);
>>>>> > > if (managedCursor.moveToFirst()) {
>>>>> >
>>>>> > >             do {
>>>>> > >                          id = managedCursor.getLong(pplId);
>>>>> >
>>>>> > >                          Bitmap bitmap =
>>>>> People.loadContactPhoto(this,
>>>>> > > ContentUris
>>>>> > >                         .withAppendedId(People.CONTENT_URI, id),
>>>>> > >                         R.drawable.default_image, null);
>>>>> > >     } while (managedCursor.moveToNext());
>>>>> >
>>>>> > > On Fri, Dec 12, 2008 at 9:05 AM, Luke w <hit...@gmail.com> wrote:
>>>>> >
>>>>> > >> Anyone can help me to get the contact icons ? Help ~
>>>>> >
>>>>> > >> BR,
>>>>> > >> Luke Wang
>>>>> >
>>>>> > >> On Thu, Dec 11, 2008 at 4:09 PM, Luke w <hit...@gmail.com> wrote:
>>>>> >
>>>>> > >>> Hi all,
>>>>> > >>> *
>>>>> > >>> now, my code below can display the name and major number about
>>>>> one of the
>>>>> > >>> contacts. *
>>>>> >
>>>>> > >>> public class MainActivity extends ListActivity {
>>>>> >
>>>>> > >>>     @Override
>>>>> > >>>     public void onCreate(Bundle savedInstanceState) {
>>>>> > >>>         super.onCreate(savedInstanceState);
>>>>> > >>>         Cursor c = getContentResolver().query(Phones.CONTENT_URI,
>>>>> null,
>>>>> > >>> null,
>>>>> > >>>                 null, null);
>>>>> > >>>         startManagingCursor(c);
>>>>> > >>>         // Map Cursor columns to views defined in
>>>>> simple_list_item_2.xml
>>>>> > >>>         ListAdapter adapter = new SimpleCursorAdapter(this,
>>>>> > >>>                 android.R.layout.simple_list_item_2, c, new
>>>>> String[] {
>>>>> > >>>                         Phones.NAME, Phones.NUMBER }, new int[] {
>>>>> > >>>                         android.R.id.text1, android.R.id.text2
>>>>> });
>>>>> > >>>         setListAdapter(adapter);
>>>>> > >>>     }
>>>>> >
>>>>> > >>> }
>>>>> >
>>>>> > >>> *I want display a list of contacts like this :*
>>>>> >
>>>>> > >>> |-------------------|
>>>>> > >>>  icon  name
>>>>> > >>>         number
>>>>> > >>> |-------------------|
>>>>> > >>>  icon  name
>>>>> > >>>         number
>>>>> > >>> |-------------------|
>>>>> > >>> *...
>>>>> > >>> ...
>>>>> > >>> could anybody, who familar with the Contact API, give me some
>>>>> hints on
>>>>> > >>> how to get the contact icon to satisfy the list above. *
>>>>> >
>>>>> > >>> Thanks very much
>>>>> >
>>>>> > >>> BR,
>>>>> > >>> Luke Wang
>>>>> >
>>>>> >
>>>>> >
>>>>> >  layout.GIF
>>>>> > 4KViewDownload
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>> >>
>>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to