L'élément actuellement sélectionné par Spinner est sélectionné à plusieurs reprises

YuHa KuRoN

J'aimerais que l'événement se produise même lorsque l'élément actuellement sélectionné par le Spinner est sélectionné à plusieurs reprises. Par exemple, si 0 est sélectionné et que 0 est à nouveau sélectionné, je veux que l'événement se déroule à nouveau.

public class MySpinner extends Spinner{

OnItemSelectedListener listener;

public MySpinner(Context context, AttributeSet attrs)
{
super(context, attrs);
}

@Override
public void setSelection(int position)
{
super.setSelection(position);

if (position == getSelectedItemPosition())
{
listener.onItemSelected(null, null, position, 0);
} 
}

public void setOnItemSelectedListener(OnItemSelectedListener listener)
{
this.listener = listener;
}
}

J'ai utilisé ce code pour définir une classe d'extension. Comment appliquez-vous cela à votre Spinner existant ?

Ci-dessous la source actuelle.

public static TextView mTXT_DRS4DL, mTXT_DRS4D_NXT;
public static Spinner mSPI_DRS4DL, mSPI_DRS4D_NXT;
public static ArrayList<String> mLIST_DRS4DL, mLIST_DRS4D_NXT;
public static ArrayAdapter<String> mADAPTER_DRS4DL, mADAPTER_DRS4D_NXT;
private static boolean isFirstSelected = true;
private static String mCheckString = "";

{

    mSPI_DRS4DL = PlatMainActivity.instance.findViewById(R.id.spi_DRS4DL);
    mLIST_DRS4DL = new ArrayList( Arrays.asList());
    mADAPTER_DRS4DL = new ArrayAdapter<>(PlatMainActivity.instance, R.layout.support_simple_spinner_dropdown_item, mLIST_DRS4DL);
    mSPI_DRS4DL.setAdapter(mADAPTER_DRS4DL);

    mSPI_DRS4D_NXT = PlatMainActivity.instance.findViewById(R.id.spi_DRS4D_NXT);
    mLIST_DRS4D_NXT = new ArrayList( Arrays.asList());
    mADAPTER_DRS4D_NXT = new ArrayAdapter<>(PlatMainActivity.instance, R.layout.support_simple_spinner_dropdown_item, mLIST_DRS4D_NXT);
    mSPI_DRS4D_NXT.setAdapter(mADAPTER_DRS4D_NXT);
}
public static void Search(String mSearch)
{
    String mRemoveName;

    if(mSearch.contains("DRS4DL")) {
        mRemoveName = mSensorSearch.replaceAll(":DRS4DL", "");
        mADAPTER_DRS4DL.add(mRemoveSensorName);
        mADAPTER_DRS4DL.notifyDataSetChanged();
    }
    else if(mSearch.contains("DRS4D-NXT")) {
        mRemoveName = mSensorSearch.replaceAll(":DRS4D-NXT", "");
        mADAPTER_DRS4D_NXT.add(mRemoveSensorName);
        mADAPTER_DRS4D_NXT.notifyDataSetChanged();
    }
}
public static void SensorSpinnerEvent()
{
    mSPI_DRS4DL.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

            //AbstractDataInterface.SendCmdMessage(mMessage, AbstractDataInterface.SEND_TO_DATA, PlatCmdMessage.MsgTouch.Req.SelRadar, 0);
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

    mSPI_DRS4D_NXT.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

            if(isFirstSelected)
            {
                isFirstSelected = false;
            } else {
                switch (position) {
                    case 0:
                        mCheckString = mLIST_DRS4D_NXT.get(0);
                        Log.e("LOG", "---------------------------------------------------->> DRS4D_NXT Check String : " + mCheckString);
                        break;

                    case 1:
                        mCheckString = mLIST_DRS4D_NXT.get(1);
                        Log.e("LOG", "---------------------------------------------------->> DRS4D_NXT Check String : " + mCheckString);
                       break;

                    case 2:
                        mCheckString = mLIST_DRS4D_NXT.get(2);
                        Log.e("LOG", "---------------------------------------------------->> DRS4D_NXT Check String : " + mCheckString);
                        break;
                }
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });
}
Prachi Singh

Make widgetof MySpinnerdans votre xml. puis remplacer

public static Spinner mSPI_DRS4DL, mSPI_DRS4D_NXT;

avec

public static MySpinner mSPI_DRS4DL, mSPI_DRS4D_NXT;

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

imprimer l'élément actuellement sélectionné lorsque l'élément est cliqué

Flask WTForms SelectField obtient l'élément actuellement sélectionné

Comment définir l'élément sélectionné de Spinner par valeur, pas par position?

Renvoie l'objet actuellement sélectionné

Définir l'élément sélectionné du spinner par programme

Comment obtenir l'ID d'élément sélectionné par spinner dynamique dans le tableau?

Android. OnItemSelectedListener ne fonctionne pas lorsque l'élément spinner est sélectionné

La case à cocher disparaît lorsque l'élément spinner est sélectionné dans Fragment

L'option d'alerte sélectionnée apparaît à plusieurs reprises

Comment utiliser l'élément sélectionné dans le spinner

Comment obtenir un élément sélectionné à partir d'un spinner et changer l'image si un élément spécifique est sélectionné?

Formule qui tirera le jour de la semaine lorsqu'un élève est sélectionné lorsqu'il est sélectionné pendant plusieurs jours par la même personne

Élément sélectionné à la position 0 dans Android Spinner

IOS - Objectif C - Comment supprimer UItextfield par programme lorsque l'élément pickerView est sélectionné?

L'élément vue.js sélectionné par le focus n'est pas réactif

L'élément sélectionné par défaut sur TabBar n'est pas mis en surbrillance

Quelle est la manière la plus efficace de trier les options d'une sélection Html par valeur, tout en préservant l'élément actuellement sélectionné?

comment ne pas afficher l'élément pour la sélection par un autre spinner, s'il a déjà été sélectionné par un autre spinner

Faire apparaître les éléments sélectionnés à plusieurs reprises en dehors de la zone de texte

Changer le texte pour afficher l'élément actuellement sélectionné dans la sélection

Comment sélectionner le DisplayMember ou DisplayValue de l'élément actuellement sélectionné?

Vue de liste JavaFX - Obtenir l'index de l'élément actuellement sélectionné?

Obtenir le texte et l'index de l'élément QTreeView actuellement sélectionné

Comment obtenir l'élément <a> actuellement sélectionné à l'aide de la touche de tabulation?

Obtention de l'élément sélectionné par jcombobox

Couleur de l'élément sélectionné par NavigationView

Comment enregistrer un élément sélectionné par l'utilisateur

Style externe non sélectionné par l'élément div

Comment faire plusieurs radioButtons mais un seul est toujours sélectionné là où le premier est par défaut?

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

    Conversion double en BigDecimal en Java

  14. 14

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

  15. 15

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

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

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

  18. 18

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  19. 19

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

  20. 20

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

  21. 21

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

chaudétiquette

Archive