SimpleCursorAdapter con ImageView e TextView

puoi avere un layout con un visualizzatore di imageview e una imageview textview per una row in un SimpleCursorAdapter con un SimpleCursorAdapter di SimpleCursorAdapter ?

questo sarebbe il layout

  • Leggi un'image / file dall'archivio di storage esterno Android
  • Come scaricare solo una directory di lavoro del codice sorgente AOSP senza l'intera storia del repo?
  • Come leggere i contatti su Android 2.0
  • SQLite cursor.getCount operazione costosa in Android
  • Errore: il path di origine non esiste: risorse \ android \ icon \ drawable-hdpi-icon.png
  • MySQL - Combinazione di INSERT, VALUES e SELECT?
  •  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/bowler_txt" android:paddingLeft="25dp" android:textSize="30dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Bowler" android:textAppearance="?android:attr/textAppearanceLarge" /> </LinearLayout> 

    può essere fatto in SimpleCursorAdapter con un listview? quando avevo bisogno di immagini in una list di liste ho sempre usato un arrays adattatore personalizzato, ma mai con un cursore.

    Come posso impostare l'image se si può fare?

  • backSpace non spara l'evento keyup in android mobile
  • Identificare se il punto è nel poligono
  • Come crittografare le risorse HTML + JS nell'applicazione mobile Android Phonegap?
  • Visualizzazioni duplicate su Android durante l'esecuzione
  • Android - Annullare AsyncTask forzato
  • StartService () crea una nuova istanza di servizio o utilizza quella esistente?
  • 2 Solutions collect form web for “SimpleCursorAdapter con ImageView e TextView”

    Quando la vista da associare è un ImageView e non è associato SimpleCursorAdapter.bindView() associato SimpleCursorAdapter.bindView() chiama setViewImage(ImageView, String) . Per impostazione predefinita, il valore verrà trattato come una risorsa image . Se il valore non può essere utilizzato come risorsa di image, il valore viene utilizzato come image Uri .

    Se è necessario filtrare in altri modi il valore recuperato dal database è necessario un ViewBinder da aggiungere ListAdapter come segue:

     listAdapter.setViewBinder(new SimpleCursorAdapter.ViewBinder(){ /** Binds the Cursor column defined by the specified index to the specified view */ public boolean setViewValue(View view, Cursor cursor, int columnIndex){ if(view.getId() == R.id.your_image_view_id){ //... ((ImageView)view).setImageDrawable(...); return true; //true because the data was bound to the view } return false; } }); 

    Per ampliare la risposta da @Francesco Vadicamo, questa è un'azione che fa parte di un'attività più grande. Lo ho separato perché wherevo chiamarlo da più aree del codice. databaseHandler e listView sono definiti come variables di class e inizializzate in onCreat() .

     private void updateListView() { // Get a Cursor with the current contents of the database. final Cursor cursor = databaseHandler.getCursor(); // The last argument is 0 because no special behavior is required. SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.listview, cursor, new String[] { databaseHandler.ICON, databaseHandler.BOWLER_TXT }, new int[] { R.id.icon, R.id.bowler_txt }, 0); // Override the handling of R.id.icon to load an image instead of a string. adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() { public boolean setViewValue(View view, Cursor cursor, int columnIndex) { if (view.getId() == R.id.imageview) { // Get the byte arrays from the database. byte[] iconByteArray = cursor.getBlob(columnIndex); // Convert the byte arrays to a Bitmap beginning at the first byte and ending at the last. Bitmap iconBitmap = BitmapFactory.decodeByteArray(iconByteArray, 0, iconByteArray.length); // Set the bitmap. ImageView iconImageView = (ImageView) view; iconImageView.setImageBitmap(iconBitmap); return true; } else { // Process the rest of the adapter with default settings. return false; } } }); // Update the ListView. listView.setAdapter(adapter); } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.