CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: con ben Thanks ricevuti nelle ultime 24 ore
Utente della settimana: bluemask con ben 6 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 17 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

Soluzione per finire l'activity "cerca"

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

    Soluzione per finire l'activity "cerca"

    Salve, nella mia applicazione ho inserito l'activity "cerca" contenente due tabhost. In un tab si cerca digitando un nome e nell'altro si cerca tramite spinner.


    Ricerca per nome:

    x
     
    1
    package it.caronte.bar;
    2
    3
    4
    import java.util.ArrayList;
    5
    6
    import android.os.Bundle;
    7
    import android.text.Editable;
    8
    import android.text.TextWatcher;
    9
    import android.widget.EditText;
    10
    import android.widget.ListView;
    11
    import android.app.Activity;
    12
    import android.widget.ArrayAdapter;
    13
    14
    15
    16
    17
    public class SearchCocktail extends Activity {
    18
    19
    20
    21
            /** Called when the activity is first created. */
    22
            private ListView lv1;
    23
            private EditText ed;
    24
            private String lv_arr[] = {"Antonio",
    25
                    "Arma",
    26
                    "'Bomba",
    27
                    "Barbara",
    28
                    "Elastico",
    29
                    "Formica",
    30
                    "Gatto",
    31
                    "Michele",};
    32
            private ArrayList<String> arr_sort= new ArrayList<String>();
    33
            int textlength=0;
    34
            
    35
            public void onCreate(Bundle savedInstanceState) {
    36
            super.onCreate(savedInstanceState);
    37
            setContentView(R.layout.main);
    38
            
    39
            
    40
            lv1=(ListView)findViewById(R.id.ListView1);
    41
            ed=(EditText)findViewById(R.id.EditText1);
    42
            // By using setAdpater method in listview we an add string array in list.
    43
            lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
    44
            ed.addTextChangedListener(new TextWatcher() {
    45
    46
            public void afterTextChanged(Editable s) {
    47
            }
    48
    49
            public void beforeTextChanged(CharSequence s, int start, int count,
    50
            int after) {
    51
            }
    52
    53
            public void onTextChanged(CharSequence s, int start, int before,
    54
            int count) {
    55
    56
            textlength=ed.getText().length();
    57
            arr_sort.clear();
    58
            for(int i=0;i<lv_arr.length;i++)
    59
            {
    60
            if(textlength<=lv_arr[i].length())
    61
            {
    62
            if(ed.getText().toString().equalsIgnoreCase((String) lv_arr[i].subSequence(0, textlength)))
    63
            {
    64
            arr_sort.add(lv_arr[i]);
    65
            }
    66
            }
    67
            }
    68
    69
            lv1.setAdapter(new ArrayAdapter<String>(SearchCocktail.this,android.R.layout.simple_list_item_1 , arr_sort));
    70
    71
            }
    72
            });
    73
            }
    74
    75
            }




    Ricerca tramite spinner:


    93
     
    1
    package it.caronte.bar;
    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 Ingredients
    10
    {
    11
        public static final String TUTTI_I_NOMI = "Tutti i nomi";
    12
    13
        public static final String NOMI = "NOMI";
    14
    15
        public static final String OGGETTI = "OGGETTI";
    16
    17
        
    18
    19
        private String nomi;
    20
    21
        private String oggetto;
    22
    23
        public Nomi(String nomi, String oggetto)
    24
        {
    25
            super();
    26
            
    27
            this.nomi = nomi;
    28
            this.oggetto = oggetto;
    29
        }
    30
    31
        
    32
        
    33
    34
        public String getNomi()
    35
        {
    36
            return nomi;
    37
        }
    38
    39
        public String getOggetto()
    40
        {
    41
            return oggetto;
    42
        }
    43
    44
        public static final Nomi[] DB = new Nomi[]
    45
        { new Nomi("Antonio", "Persona"), new Nomi("Arma", "Oggetto"), new Nomi("Bomba", "Oggetto"), new Nomi("Barbara", "Persona"), new Nomi("Elastico", "Oggetto"), new Nomi("Formica", "Animale"),};private static ArrayList<String> nomi;
    46
    47
        public static List<Map<String, String>> getData()
    48
        {
    49
            List<Map<String, String>> ret = new ArrayList<Map<String, String>>();
    50
            for (Nomi nomi : DB)
    51
            {
    52
                ret.add(nomi.getMap());
    53
            }
    54
            return ret;
    55
        }
    56
    57
        public static List<Map<String, String>> getData(String nomi)
    58
        {
    59
            List<Map<String, String>> ret = new ArrayList<Map<String, String>>();
    60
            for (Nomi nomi : DB)
    61
            {
    62
                if (nomi.equals(TUTTI_I_NOMI) || nomi.equals(nomi.getNomi()))
    63
                {
    64
                    ret.add(nomi.getMap());
    65
                }
    66
            }
    67
            return ret;
    68
        }
    69
    70
        Map<String, String> getMap()
    71
        {
    72
            HashMap<String, String> map = new HashMap<String, String>();
    73
            
    74
            map.put(NOMI, nomi);
    75
            map.put(OGGETTO, oggetto);
    76
            return map;
    77
        }
    78
    79
        public static ArrayList<String> getOggetto()
    80
        {
    81
            if (oggetto == null)
    82
            {
    83
                TreeSet<String> set = new TreeSet<String>();
    84
                for (Oggetto oggetto : DB)
    85
                {
    86
                    set.add(oggetto.getOggetto());
    87
                }
    88
                oggetto = new ArrayList<String>();
    89
                oggetto.addAll(set);
    90
            }
    91
            return oggetto;
    92
        }
    93
    }







    I nomi "Antonio, Arma..." li ho in un file .xml situato dentro la cartell res/raw. Come faccio a fare un intent, in modo che una volta premuto il nome che mi serve mi visualizzi una pagina informativa sul nome premuto? Premetto che il layout per la pagina informativa già ce l'ho. Grazie.

  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