CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 5 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 21 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

Spinner non mostra tutti i risultati

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    Apr 2011
    Località
    Bologna
    Messaggi
    239
    Smartphone
    Huawei Ascend Y300

    Ringraziamenti
    9
    Ringraziato 95 volte in 36 Posts
    Predefinito

    Spinner non mostra tutti i risultati

    Salve, ho popolato uno spinner in questo modo


    x
     
    1
    package it.gogle.com;
    2
    3
    import java.util.ArrayList;
    4
    import java.util.HashMap;
    5
    import java.util.List;
    6
    import java.util.Map;
    7
    import java.util.TreeSet;
    8
    9
    public class Cars{
    10
    11
    public static final String ALL_CARS = "All cars";
    12
    13
    public static final String CAR = "CAR";
    14
    15
    public static final String NAME = "NAME";
    16
    17
    public static final String NAME1 = "NAME1";
    18
    19
    public static final String NAME2 = "NAME2";
    20
    21
    public static final String NAME3 = "NAME3";
    22
    23
    public static final String CATEGORY = "CATEGORY";
    24
    25
    private String car;
    26
    27
    private String name;
    28
    29
    private String name1;
    30
    31
    private String name2;
    32
    33
    private String name3;
    34
    35
    private String category;
    36
    37
    public Cars(String car, String name, String name1, String name2, String name3, String category){
    38
        super();
    39
        this.car = car;
    40
        this.name = name;
    41
        this.name1 = name1;
    42
        this.name2 = name2;
    43
        this.name3 = name3;
    44
        this.category = category;}
    45
    46
    public String getCar(){
    47
        return car;}
    48
    49
    public String getName(){
    50
        return name;}
    51
    52
    public String getName1(){
    53
        return name1;}
    54
    55
    public String getName2(){
    56
        return name2;}
    57
    58
    public String getName3(){
    59
        return name3;}
    60
    61
    public String getCategory(){
    62
        return category;}
    63
    64
    public static final Cars[] DB = new Cars[]{
    65
     new Cars("BMW","X1","X3","X5","X6","SUV"),
    66
     new Cars("AUDI","A1","Q7","A2","A5","OTHERS"),
    67
     new Cars("BMW1","X3","X1","X6","X5","SUV"),
    68
     new Cars("AUDI1","A2","Q7","A1","A5","OTHERS"),
    69
     new Cars("BMW2","X6","X5","X3","X1","SUV"),
    70
        };
    71
    72
    private static ArrayList<String> names;
    73
    74
    public static List<Map<String, String>> getData(String name, String name1, String name2, String name3){
    75
        List<Map<String, String>> ret = new ArrayList<Map<String, String>>();
    76
        for (Cars cars : DB){
    77
            //l'errore dovrebbe essere qui sotto
    78
                        if (name.equals(ALL_CARS) || name.equals(cars.getName()))
    79
            if (name1.equals(ALL_CARS) || name1.equals(cars.getName1()))
    80
            if (name2.equals(ALL_CARS) || name2.equals(cars.getName2()))
    81
                        if (name3.equals(ALL_CARS) || name3.equals(cars.getName3()))
    82
    83
             ret.add(cars.getMap());}
    84
        return ret;}
    85
    86
    Map<String, String> getMap(){
    87
        HashMap<String, String> map = new HashMap<String, String>();
    88
    89
        map.put(CAR, car);
    90
        map.put(NAME, name);
    91
        map.put(NAME1, name1);
    92
        map.put(NAME2, name2);
    93
        map.put(NAME3, name3);
    94
        map.put(CATEGORY, category);
    95
        return map;}
    96
    97
    public static ArrayList<String> getINames(){
    98
        if (names == null){
    99
            TreeSet<String> set = new TreeSet<String>();
    100
            for (Cars cars : DB){set.add(cars.getName());}
    101
            for (Cars cars : DB){set.add(cars.getName1());}
    102
                        for (Cars cars : DB){set.add(cars.getName2());}
    103
                        for (Cars cars : DB){set.add(cars.getName3());}
    104
    105
            names = new ArrayList<String>();
    106
            names.addAll(set);}
    107
        return names;}}




    Il mio problema è che se clicco sullo spinner l'item "X1" come risultato mi da solo "BMW" e non anche "BMW1" e "BMW2" come dovrebbe essere. Poi a secondo di come modifico il codice (dove ho scritto che forse è lì il problema) mi visualizza solo un risultato e non tutti (dipende in che posizione si trova l'item che ho scelto all'interno della stringa new Cars). Quello che vorrei io è invece poter visualizzare tutti i risultati senza tener conto in che posizione ho inserito i dati. Il codice fuziona se ho un solo "String Name" ed il codice cambierebbe perchè dovrei aggiungere {....}

    2
     
    1
    if (name.equals(ALL_CARS) || name.equals(cars.getName())){
    2
    ret.add(cars.getMap());}}



    Qualcuno mi potrebbe aiutare. Grazie mille.

  2.  

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy