阅读更多
package com.CursorAdapterTest;
import static com.db.MyOpenHelper.*;
import com.db.MyOpenHelper;
import android.app.Activity;
import android.content.ContentValues;
//...
//...
//省略部分代码
package com.CursorAdapterTest;
import android.widget.TextView;
public class CursorAdapterTest extends Activity {
/** Called when the activity is first created. */
MyOpenHelper myHelper ; //声明MyOpenHelper对象
int [] testId ; //声明用于存放联系人id的数组
String [] testName ; //声明用于存放联系人姓名的数组
String [] testPhone ; //声明用于存放联系人电话的数组
ListView lv; //声明ListView对象
private static SQLiteDatabase db = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//得到ListView的布局
lv = (ListView)findViewById(R.id.lv);
//打开数据库
myHelper = new MyOpenHelper(this, DB_NAME);
db = myHelper.getWritableDatabase();
/*ContentValues values = new ContentValues();
for(int i=0;i<100;i++){
values.put(NAME,"A");
values.put(PHONE,1234567+i);
db.insert(TABLE_NAME, null, values);
}*/
//得到数据库的cursor
Cursor c = db.query(TABLE_NAME, null, null, null, null, null, ID);
startManagingCursor(c);
//实例化adapter
Adapter adapter = new Adapter(this,
R.layout.listitem,
c,
new String[]{ID,NAME,PHONE},
new int[]{R.id.list_Id,R.id.list_Name,R.id.list_Phone});
//绑定adapter
lv.setAdapter(adapter);
}
public class Adapter extends SimpleCursorAdapter {
private LayoutInflater mInflater;
public Adapter (Context context, int layout, Cursor c, String[] from, int[] to) {
super(context, layout, c, from, to);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
//得到每一个item的布局文件
LinearLayout ll = null;
if (view == null) {
ll = (LinearLayout) mInflater.inflate(R.layout.listitem,null);
} else {
ll = (LinearLayout)view;
}
//通过cursor得到每一个字段的ColumnIndex
int idCol = cursor.getColumnIndex(ID);
int nameCol = cursor.getColumnIndex(NAME);
int phoneCol = cursor.getColumnIndex(PHONE);
int nCount = cursor.getPosition();
//int nCount = Integer.valueOf(cursor.getString(idCol));
//得到每一个数据控件
ImageView iv_TView = (ImageView)ll.findViewById(R.id.list_Iv);
TextView id_TV = (TextView)ll.findViewById(R.id.list_Id);
TextView name_TV = (TextView)ll.findViewById(R.id.list_Name);
TextView phone_TV = (TextView)ll.findViewById(R.id.list_Phone);
//设置每一项数据内容
if( nCount % 2 == 0){
iv_TView.setImageDrawable(getResources().getDrawable(R.drawable.r));
} else {
iv_TView.setImageDrawable(getResources().getDrawable(R.drawable.b));
}
id_TV.setText(cursor.getString(idCol));
name_TV.setText(cursor.getString(nameCol));
phone_TV.setText(cursor.getString(phoneCol));
}
}
}
- 大小: 40.8 KB