Ich verwende einen Viewholder zur Anzeige von einem dynamischen Arrayadapter.it funktioniert, aber die angezeigten Daten ändert sich unregelmäßig, wenn ich die Liste scrollen. Ich möchte, dass meine Listenansicht nur einmal ausgefüllt wird. Nicht immer, wenn ich meine Liste durchblättere. Irgendwelche Vorschläge? Hier ist mein CodeWie implementiert man einen Ansichtshalter?
public View getView(int position, View convertView, ViewGroup parent) {
// A ViewHolder keeps references to children views to avoid unneccessary calls
// to findViewById() on each row.
ViewHolder holder;
// When convertView is not null, we can reuse it directly, there is no need
// to reinflate it. We only inflate a new View when the convertView supplied
// by ListView is null.
if (convertView == null) {
convertView = mInflater.inflate(R.layout.sample, null);
// Creates a ViewHolder and store references to the two children views
// we want to bind data to.
holder = new ViewHolder();
holder.name = (TextView) convertView.findViewById(R.id.text);
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(holder);
} else {
// Get the ViewHolder back to get fast access to the TextView
// and the ImageView.
holder = (ViewHolder) convertView.getTag();
}
// Bind the data efficiently with the holder.
if(_first==true)
{
if(id<myElements.size())
{
holder.name.setText(myElements.get(id));
holder.icon.setImageBitmap(mIcon1);
id++;
}
else
{
_first=false;
}
}
//holder.icon.setImageBitmap(mIcon2);
/*try{
if(id<myElements.size())
id++;
else
{
id--;
}
}
catch(Exception e)
{
android.util.Log.i("callRestService",e.getMessage());
}*/
return convertView;
}
static class ViewHolder {
TextView name;
ImageView icon;
}
, wenn die Liste geladen wird es wie folgt aussieht: http://i.stack.imgur.com/NrGhR.png nach ein paar Daten Scrolling http://i.stack.imgur.com/sMbAD.png sieht es so aus, und wieder, wenn ich an den Anfang blättern sieht es http://i.stack.imgur.com/0KjMa.png
PS: meine Liste muss in alphabetischer Reihenfolge sein
können Sie den Screenshot Ihrer Ausgabe posten? –
@Tilsan Der Kämpfer: habe die Schnappschüsse gepostet. – Ads