Erreur: ArrayAdapter nécessite que l'ID de ressource soit une TextView

Qu'est-ce que ça veut dire? Je me suis battu avec ce ListView que j'ai utilisé un ArrayAdapter . J'ai écrit ce joli fragment de dialogue que j'ai rappelé à un porteur de mise à jour parce que je souhaite mettre à jour ce ListView j'ai dans mon fragment du DialogFragment au début, ArrayAdapter était un type complexe d'une classe i Créé:

 ArrayAdapter<Location> theLocations; ... //in oncreateview theLocations = new ArrayAdapter<Location>(mContext, R.layout.location_row, locations); //here locations is an ArrayList<Location> 

ensuite j'ai:

  • Android Studio comment exécuter manuellement la synchronisation gradle?
  • Comment installer des applications installées dans Android et aucune application système?
  • Comment implémenter getfilter () avec un adaptateur personnalisé qui étend le format de base
  • Exception de Run Time Gradle
  • Android: utilise setContentView plusieurs fois mauvais lors du changement de mise en page?
  • Android L'importation com.google ne peut pas être résolue
  •  public void onUIUpdate(Location l) { //called from dialog fragment locations.add(l); theLocations.notifyDataSetChanged(); } 

    Alors cela a donné l'erreur ci-dessus, donc je l'ai changé pour utiliser juste un

     String[] locationNames = new String[sizeofLocations]; theLocations=new ArrayAdapter<String>(mContext, R.layout.location_Row, locationNames ); public void onUIUpdate(Location l) { locations.add(l); locationNames = new String[locations.size()]; for(locations.size() etc...) { locationNames [i] = new String(locations.get(i).getName()); } theLocations.notifyDataSetChanged(); } 

    Cela n'a pas eu d'erreur dans ma méthode de mise à jour (qui met à jour l'ui), mais il n'a rien mis à jour. Donc, je suis perdu quant à la façon de mettre à jour ce ArrayAdapter, je pensais que notifyChange était censé le faire, mais il ne fait ni ne jette l'erreur ci-dessus.

    Je n'ai aucun problème avec mon SimpleCursorAdapters ailleurs dans mon programme (tant que mes curseurs restent ouverts et j'appelle un requery sur eux).

    Des idées sur ce que je fais mal?

    Sur demande, voici ma mise en page pour R.layout.location_row

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="horizontal"> <TextView android:text="@+id/TextView01" android:layout_height="wrap_content" android:id="@+id/location_name" android:textSize="15px" android:layout_marginTop="10px" android:layout_width="wrap_content"></TextView> <TextView android:text="|" android:layout_height="wrap_content" android:textSize="15px" android:layout_marginTop="6px" android:layout_width="wrap_content"></TextView> <TextView android:text="@+id/TextView01" android:layout_height="wrap_content" android:id="@+id/location_lat" android:textSize="15px" android:layout_marginTop="6px" android:layout_width="wrap_content"></TextView> <TextView android:text="|$" android:layout_height="wrap_content" android:textSize="15px" android:layout_marginTop="6px" android:layout_width="wrap_content"></TextView> <TextView android:text="@+id/TextView01" android:layout_height="wrap_content" android:id="@+id/location_lon" android:textSize="15px" android:layout_marginTop="6px" android:layout_width="wrap_content"></TextView> </LinearLayout> 

  • Qu'est-ce que SetUseWideViewPort () et setLoadWithOverviewMode () font précisément?
  • Programmation Android Python
  • Vérification si CountDownTimer est en cours d'exécution
  • Le problème de la vidéo multiple Android, l'onglet Galaxy spécifique
  • PorterduffXfermode: efface une section d'un bitmap
  • SetOnPageChangeListener n'appelle pas surPageSelectionné
  • One Solution collect form web for “Erreur: ArrayAdapter nécessite que l'ID de ressource soit une TextView”

    Comme nous pouvons le lire dans http://developer.android.com/reference/android/widget/ArrayAdapter.html ArrayAdapter fonctionne simplement avec des chaînes sur des pages de texte. Vous pouvez utiliser ce constructeur

     ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects) 

    Spécifiez l'identifiant d'un TextView dans votre mise en page ou votre remplacement

     getView(int, View, ViewGroup) 

    En retournant une vue de votre type personnalisé.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.