/ / ImageButton ne fonctionne pas après avoir cliqué une fois - Android

ImageButton ne fonctionne pas après avoir cliqué une fois - Android

J'ai créé un bouton pour supprimer un élément ListView. Cela fonctionne bien au premier clic, mais si j’essaie de cliquer à nouveau, cela ne fonctionne plus.

Voici le code onClickListener:

    OnClickListener clickBtnExcluir = new OnClickListener() {

@Override
public void onClick(View v) {
if (taskManager == null) {
taskManager = new AsyncTaskManager(context);
final Entity entity = (Entity) v.getTag();
Service service = new Service();
taskManager.executeTask(service, new String[] { cod1, cod2 }, new OnAsyncTaskCompleteListener<Return>() {
@Override
public void onTaskCompleteSuccess(Return result) {
if (result == Return.YES) {
refreshList();
}
}

@Override
public void onTaskFailed(Exception cause) {

}

});
}
}
};

Et voici le refreshList méthode

public void refreshList() {
taskManager = new AsyncTaskManager(context);
ListService listService = new ListService();

taskManager.executeTask(listService , new String[] { cod1, "1", "0" },
new OnAsyncTaskCompleteListener<List<Entity>>() {

@Override
public void onTaskFailed(Exception cause) {

}

@Override
public void onTaskCompleteSuccess(List<Entity> result) {
listView.refreshDrawableState();
mainList = result;
notifyDataSetChanged();
}

});
}

Quelqu'un a une ideia?

Désolé par des fautes de grammaire.

Réponses:

3 pour la réponse № 1

après le premier clic, le gestionnaire de tâches n’est plus nul, vous ne devez donc pas consulter le code d’exécution.


1 pour la réponse № 2

Selon votre code ci-dessus, onClick fonctionnera une fois {et c'est ce qui se passe}

Je suppose que vous voulez vérifier l’état de votre tâche asynchrone avant d’ajouter un autre asynchrone pour l’exécution:

Pour cela veuillez remplacer votre si avec cette ligne

if(taskManager.getStatus()==Status.FINISHED){ //check required status

}

n'oubliez pas de vérifier cela avant toute autre condition:

if(taskManager!=null){

}