J'ai besoin d'aide pour exécuter la tâche de mise en jachère. quelqu'un peut-il aider à régler cela?Comment lier l'objet (données) et ViewHolder (listview row) dans android?
J'ai une vue en liste. chaque ligne contient
- Titre (Textview)
- sous titre (TextView)
- Barre de progression
- nombre de progrès (TextView)
- Télécharger/Annuler (ToggleButton)
tout adaptateur de chargement j'ai passé la liste. d'où affiche le titre, sous-titre pour chaque ligne.
Voici le code myadapter, générant des vues pour chaque ligne.
Mon problème est que. En cours d'exécution quand je suis entré bouton de téléchargement, il va à downloadQueue à télécharger, et met à jour la barre de progression respective. Mais quand je suis en train de faire défiler la liste, la barre de progression est visible pour l'autre ligne à la place de la rangée actuelle où j'ai commencé le téléchargement. Quelqu'un peut-il me dire comment lier la vue et l'objet d'état afin qu'il ne dérange pas la barre de progression.
`
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos= position;
final StateViewHolder viewHolder;
final State state = stateList.get(pos) ;
if (convertView == null) {
inflater = LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.adapter_view, null);
TextView title = (TextView) convertView.findViewById(R.id.text);
TextView subTitle = (TextView) convertView.findViewById(R.id.subText);
TextView progresstext = (TextView) convertView.findViewById(R.id.progressText);
ProgressBar progressBar = (ProgressBar) convertView.findViewById(R.id.progress);
ImageView cancel = (ImageView) convertView.findViewById(R.id.cancel);
ImageView download = (ImageView) convertView.findViewById(R.id.download);
viewHolder = new StateViewHolder(title, subTitle, progresstext, download, cancel, progressBar);
hashMap.put(state, viewHolder);
convertView.setTag(viewHolder);
Log.i("DownloadAdapter", "InGetView");
}else{
viewHolder = (StateViewHolder)convertView.getTag();
}
state.setViewHolder(viewHolder);
viewHolder.getDownload().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewHolder.getDownload().setVisibility(View.GONE);
viewHolder.getCancel().setVisibility(View.VISIBLE);
Log.i("DownloadAdapter", ""+state.getName());
DownloadQueue.addToQueue(state);
}
});
viewHolder.getCancel().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewHolder.getCancel().setVisibility(View.GONE);
viewHolder.getDownload().setVisibility(View.VISIBLE);
DownloadQueue.RemoveFromQueue(state);
}
});
viewHolder.getTitle().setText(state.getName());
viewHolder.getSubTitle().setText(state.getEffective());
return convertView;
}
}
Remerciant vous, Srinivas
`
Hii, Srinivas !! S'il vous plaît donnez-moi une adresse e-mail. mon adresse gmail [email protected] – crickpatel0024