Android personnalisé ArrayAdapter méthode getView appelé plusieurs fois la réinitialisation dynamique TextView valeur

La méthode getView dans mon custom ArrayAdapter est appelé plusieurs fois, ce qui je suppose qu'il est censé. Problème, j'ai une quantité TextView qui est de définir de façon dynamique, mais lorsque vous faites défiler et la boîte se passe hors de l'écran, la valeur disparaît. Je ne suis pas sûr de ce que je fais de mal et Google ne s'avère pas être une grande aide. J'espère que quelqu'un ici peut m'aider.

L'adapater est appelé:

adapter = new MenuAdapter(thisActivity, R.layout.menu, list);
setListAdapter(adapter);

Mon Custom ArrayAdapter:

public MenuAdapter(Context context, int textViewResourceId, ArrayList<Object> menu) {
super(context, textViewResourceId, menu);
this.menu = menu;
vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
Object cat = menu.get(position);
if (cat.getClass().equals(Category.class)) {
v = vi.inflate(R.layout.category, null);
Category item = (Category)cat;
v.setOnClickListener(null);
v.setOnLongClickListener(null);
v.setLongClickable(false);
TextView tt = (TextView) v.findViewById(R.id.category);
tt.setText(item.getName());      
} else if (cat.getClass().equals(OrderItem.class)) {
v = vi.inflate(R.layout.menu, null);
OrderItem orderItem = (OrderItem)cat;
Item item = orderItem.getItem();
TextView tt = (TextView) v.findViewById(R.id.title);
tt.setText(item.getName());   
TextView bt = (TextView) v.findViewById(R.id.desc);
bt.setText(item.getDescription());
TextView qty = (TextView) v.findViewById(R.id.qty);
qty.setId(item.getId());
ImageButton minus = (ImageButton) v.findViewById(R.id.qtyMinus);
minus.setTag(item);
ImageButton plus = (ImageButton) v.findViewById(R.id.qtyPlus);
plus.setTag(item);          
}
return v;
}

Le menu mise en page:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip"
android:background="#FFFFFF">
<RelativeLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent"
android:cacheColorHint="#FFFFFF"
android:background="#FFFFFF">
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:textSize="16px"
android:textColor="#000000"
/>
<TextView
android:id="@+id/desc"
android:layout_below="@id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="11px"
android:textStyle="italic"
android:textColor="#000000"
/>
</RelativeLayout>
<ImageButton
android:id="@+id/qtyMinus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/minus"
android:paddingTop="15px"
android:onClick="minusQty"  />
<TextView
android:id="@+id/qty"
android:layout_width="50px"
android:layout_height="50px"
android:textColor="#000000"
android:textSize="18px"
android:gravity="center_vertical|center_horizontal"
android:freezesText="true"
android:background="@android:drawable/editbox_background"/>
<ImageButton
android:id="@+id/qtyPlus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/plus"
android:paddingTop="15px"
android:onClick="addQty" />
</LinearLayout>

Toute aide sera grandement appréciée.

Merci Beaucoup.

Do u 2 types de vues? Comme vous avez un Élément de la Catégorie et le poste de Commande? Si c'est vrai alors vous avez besoin de changer la façon dont u r les manipulent. Vos besoins de conception un peu plus de travail.

OriginalL'auteur Paul Blundell | 2012-03-24