simplecursoradapter と組み込みの ListView を使用して、名前、電子メール、写真 (すべて sqlite に保存されている) を示す連絡先のリストを表示したい
このコードを持っています(私はカーソルを使用していないことに注意してください。後でカーソルを提供するためにnullを使用しているためです):
private CursorAdapter contactAdapter;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
contactList = getListView();
contactList.setOnItemClickListener(viewContactListener);
String[] from = new String[] { "name","email","image" };
int[] to = new int[] { R.id.contactTextView,R.id.emailTextView2,R.id.imageView1};//imageView1 is a ImageView
contactAdapter = new SimpleCursorAdapter(
MyFirstActivity.this, R.layout.contact_list_item, null, from, to);
setListAdapter(contactAdapter);
}
その後:
@Override
protected void onResume()
{
super.onResume();
new StartPopulate().execute((Object[]) null);
}
private class StartPopulate extends AsyncTask<Object, Object, Cursor>
{
MyDatabaseConnector myDatabaseConnector =
new MyDatabaseConnector(myActivity.this);
// perform the database access
@Override
protected Cursor doInBackground(Object... params)
{
myDatabaseConnector.open();
return databaseConnector.getAllContacts(); //it is a cursor where I have the fields which I want to return
}
@Override
protected void onPostExecute(Cursor result)
{
contactAdapter.changeCursor(result);
myDatabaseConnector.close();
}
}
最初にではなく、changeCursor を使用して onPostExecute 内のカーソルを提供していることに気付いた場合、私の質問は次のとおりです。SimpleCursorAdapter の画像 内部に画像を追加したい (int[] to = new int[] { R.id.contactTextView,R.id.emailTextView2,R.id.imageView1};//imageView1 は ImageView) なので、この名前、メールアドレス、画像を見る方法
また、私のデータベースには次のフィールドがあります。
"CREATE TABLE wholeContacts" +
"(_id integer primary key autoincrement," +
"name TEXT, email TEXT, +
"image BLOB);";
2.-SQLite を使用して画像 (データベース内) を保存することをお勧めします。ありがとう