sto usando un viewholder per visualizzare da un array dinamico funziona, ma i dati visualizzati cambiano in modo irregolare quando faccio scorrere la lista. Voglio che la mia vista elenco venga popolata una sola volta, non sempre quando faccio scorrere la mia lista. Qualche suggerimento? Ecco il mio codiceCome implementare un titolare della vista?
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;
}
quando la lista viene caricato sembra che questo: http://i.stack.imgur.com/NrGhR.png dopo lo scorrimento di alcuni dati http://i.stack.imgur.com/sMbAD.png Ecco come si presenta, e di nuovo se ho scorrere fino all'inizio sembra http://i.stack.imgur.com/0KjMa.png
PS: la mia lista deve essere in ordine alfabetico
puoi postare la schermata della tua uscita? –
@Tilsan The Fighter: hanno pubblicato le istantanee. – Ads