Erreur: ArrayAdapter nécessite l'ID de ressource pour être un TextView

Qu'est-ce que cela signifie? Je me bats avec ce ListView que j'ai à l'aide d'un ArrayAdapter. J'ai écrit cette belle boîte de dialogue fragment que j'ai appeler en arrière, à une updateUI listner parce que je veux les mettre à jour cette ListView j'ai dans mon fragment de la DialogFragment au premier abord le ArrayAdapter était un type complexe d'une classe que j'ai Créée:

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

alors j'ai:

public void onUIUpdate(Location l) { //called from dialog fragment      
 locations.add(l);                  
 theLocations.notifyDataSetChanged();       
}

puis qui a donné l'erreur ci-dessus, donc je l'ai mis pour n'utiliser qu'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 d'erreur dans ma méthode de mise à jour (les mises à jour de l'interface utilisateur), mais il n'a pas de mise à jour de quoi que ce soit. Donc je suis perdu quant à la façon de mettre à jour cette ArrayAdapter, j'ai pensé notifyChange était censé le faire, mais il ne fait rien ou renvoie l'erreur ci-dessus.

Je n'ai pas de problèmes avec mon SimpleCursorAdapters ailleurs dans mon programme (tant Que mes curseurs restent ouverts et j'appelle une actualisation sur eux).

Des idées dans ce que je fais de mal?

Sur demande, voici ma présentation pour le 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> 
vous pouvez poster votre R. layout.location_row fichier XML, s'il vous plaît?
fait, je me rends compte que l'erreur est de prétendre qu'il est impossible de définir un TextView à autre chose (sans doute mon type d'Emplacement de complexClass) si je soupçonnais la surcharge de toString serait de prendre soin de cela?

OriginalL'auteur Codejoy | 2011-07-25