1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| package com.example.android.gridcontact;
import android.app.Activity;
import android.content.ContentUris;
import android.content.Context;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts.People;
import android.provider.Contacts.People.Phones;
import android.view.View;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.SimpleCursorAdapter;
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Cursor c = getContentResolver().query(People.CONTENT_URI, null,null, null, null);
startManagingCursor(c);
GridView grid = ((GridView) this.findViewById(R.id.grid01));
MyCursorAdapter adapter = new MyCursorAdapter(this,
android.R.layout.simple_list_item_2,c,
new String[] { Phones.NAME },
new int[] { R.id.contacts });
grid.setAdapter(adapter);
}
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;
}
public void bindView(View view, Context context, Cursor cursor) {
ImageView imageView = (ImageView)view.findViewById(R.id.contact_image);
int id = this.c.getColumnIndex(android.provider.Contacts.Phones.PERSON_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);
}
}
} |
Partager