Erreur Android Kotlin : "le type de retour est 'unit' qui n'est pas un sous-type de substitution"

chair pourrie

J'essaie de faire apparaître une boîte d'alerte qui demande à l'utilisateur s'il souhaite supprimer une valeur d'un ArrayList qui s'affiche dans un ListView chaque fois qu'il tente de faire un clic long sur l'un d'eux

mainListView.setLongClickable(true)
mainListView.setOnItemLongClickListener(object: AdapterView.OnItemLongClickListener {
        override fun onItemLongClick(parent: AdapterView<*>, view: View, position:Int, id:Long) {
           val alertDialog = AlertDialog.Builder(this@listV)
           alertDialog.setTitle("Would you like to delete this ?")
           alertDialog.setPositiveButton("Yes") { dialog, whichButton -> mobileArray.removeAt(position);listAdapter.notifyDataSetChanged() }
           alertDialog.setNegativeButton("Cancel", { dialog, which ->  })
           alertDialog.create()
           alertDialog.show()}})

mais il y a une erreur sur la fonction OnItemLongClick qui est

le type de retour est 'unit' qui n'est pas un sous-type d'
amusement abstrait public remplacé onItemLongClick (...) : booléen défini dans android.widget.adapterView.OnItemLongClickListener

Je suis très confus car j'ai utilisé à peu près le même code pour un simple "onItemClick" et cela a bien fonctionné

zsmb13

Les signatures de onItemClicket onItemLongClickdiffèrent (ce qui, accordé, est une étrange incohérence dans l'API) :

void onItemClick(AdapterView<?> parent, View view, int position, long id)

boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)

Ce dernier renvoie une booleanvaleur indiquant si l'événement a été consommé par l'écouteur. Si c'est le cas true, les autres auditeurs ne seront pas appelés pour cet événement.

Donc ce que vous voulez faire est quelque chose comme ceci :

override fun onItemLongClick(parent: AdapterView<*>, view: View, position: Int, id: Long): Boolean {
    // alert dialog code
    return true
}

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Erreur du plug-in Android Studio Kotlin

Erreur du plugin Kotlin dans Android Studio

Android Kotlin Firebase addOnCompleteListener affichant une erreur

Erreur "Kotlin non configuré" sur Android 3.5.3

Erreur de création de fichier Kotlin Android

RxJava zipWith erreur IDE dans Kotlin Android Studio 3.0

Gestion de l'erreur RXJava Android avec Kotlin

Erreur Android Studio Kotlin avec dataSnapshot.getValue

Erreur d'injection Kotlin Dagger 2 Android ViewModel

Android Studio affiche une erreur dans le code Kotlin valide

Erreur fatale IDE de suggestion de code Android Studio Kotlin

Android TextView affichant une erreur fatale dans Kotlin

Erreur de configuration du projet Android Kotlin frais

Android Kotlin dagger 2 Erreur d'injection ViewModel

Erreur Kotlin EMV android.nfc.Tag.setConnectedTechnology

Erreur "référence non résolue" dans Kotlin Android

Erreur lors de l'utilisation de Firebase Android Studio (kotlin)

L'erreur de gonfler le fragment de classe android kotlin

android Rx-java + erreur Retrofit2 avec Kotlin

Kotlin - Erreur avec l'interface SAM (routage Android Cicerone)

'this@ActivityName' n'est pas capturé erreur Android/Kotlin

Erreur Kotlin: 2 paramètres attendus de types android.widget.CompoundButton !, kotlin.Boolean

Erreur Kotlin FirebaseStorage getDownloadUrl

Erreur Kotlin Capsule Gradle

Erreur Flywaydb dans kotlin

Erreur Kotlin ArgumentMatcher

Erreur kotlin-android lors de l'utilisation d'Android Studio 3.2 Canary 17

Erreur de référence non résolue dans les fichiers Kotlin dans un projet Android Java + Kotlin

Erreur de compilation Android + Kotlin : Kotlin home n'existe pas ou n'est pas un répertoire

Crash d'Android Kotlin Coroutine sans erreur fatale signalée dans le Logcat

TOP liste

  1. 1

    comment afficher un bouton au-dessus d'un autre élément ?

  2. 2

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  3. 3

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

  4. 4

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  5. 5

    Conversion double en BigDecimal en Java

  6. 6

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Passer la taille d'un tableau 2D à une fonction ?

  9. 9

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  10. 10

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  11. 11

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  12. 12

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  13. 13

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  14. 14

    Exporter la table de l'arborescence vers CSV avec mise en forme

  15. 15

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  16. 16

    Créer un système Buzzer à l'aide de python

  17. 17

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  18. 18

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  19. 19

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  20. 20

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  21. 21

    Microsoft.WebApplication.targets

chaudétiquette

Archive