2013-10-17 71 views
1

的Android simplecursoradapter我想看到的simplecursoradapter和我交往的内置的ListView列表中显示他们的姓名,电子邮件及图片(所有保存在源码)与ImageView的

有这个代码(请注意,我”米不使用光标,我使用的是空怎么一回事,因为我goig提供后光标):

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(); 
     } 
    } 

如果你notitce我提供内部AO光标nPostExchange与changeCursor,而不是在开始,所以我的问题是:1.如何使用viewBinder这样? Images in 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-I'ts一个很好的做法,使用SQLite的照片的保存(内部数据库)如果可以包含近5000条记录,但图片是2.6kb(很小的图片)? 感谢

回答

0

使用BitmapFactory.decodeByteArray其中字节阵列从Cursor.getBlob取()