Autore Topic: Search in ListView [RISOLTO]  (Letto 323 volte)

Offline Hildian

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Meizu M1 Note
  • Sistema operativo:
    Mac OS X 10.8.5 e Windows 7
Search in ListView [RISOLTO]
« il: 25 Marzo 2014, 16:10:09 CET »
0
salve a tutti e scusatemi del disturbo, ho provato qualche guida su internet, il tutto non mi dà errori sembra andare. quando parte l'emulatore e vado a scrivere una lettera da cerca, si elimina la lista poi cancello la lettera che avevo inserito e riappare, mi sapete aiutare per favore?

layout contact_list_ric_fam:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   android:background="#efefef" >
   
    <EditText android:id="@+id/inputSearch"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:hint="@string/sdc"
       android:inputType="textVisiblePassword"/>
   
    <ListView
       android:id="@+id/list_ric_famm"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       >
    </ListView>
   

</LinearLayout>

questa invece è la classe associata:
Codice (Java): [Seleziona]
package com.sorrentinoandrea.itipacinottimobile;



import java.util.ArrayList;
import java.util.List;

import com.sorrentinoandrea.adapters.CustomListViewric_fam;
import com.sorrentinoandrea.bean.RIC_FAM;

import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;



public class RIC_DOC extends Activity implements OnItemClickListener {
        public static final String[] noms = new String[] { "ACANFORA MARIA TERESA","AMBROSIO GIUSEPPE","AMENDOLA ALFONSO",
                "ANZELMO ANNITA","APOSTOLO GIOVANNI","BABSIA ANTONIO","BAGGIANO VITTORIO","BALDI GINA","BALSAMO FRANCESCA",
                "BALZANO MARIA GRAZIA","BARRA FRANCISCO","BELCORE FRANCESCO","BENINCASA LUCIANO","CAIAZZO SALVATORE",
                "CAROTENUTO ANTONIO","CAROTENUTO GIUSEPPE","CASABURI FRANCESCO","CAVALIERE IOLANDA","CAVALLARO PLACIDO",
                "CELENTANO FABIANA","CELENTANO UMBERTO","CEMBALO LUIGI","CESARANO ANTONIO","CHIARIELLO FRANCA",
                "CIRILLO ANGELA ROSA","COCCIA ALFONSO","CORRADO SALVATORE","CUOZZO GRAZIANO GIUSEPPE","DE CONCILIO CAMILLO",
                "DELLI PRISCOLI ROBERTA","DESIDERIO ANTONIO","DESIDERIO SILVIO","DI LEO TOMMASO","DI MARTINO MICHELA",
                "DI SESSA PATRIZIA","DI MAURO ANNA","DI MONTE PATRIZIA","DI PALMA ANGELA","EBOLI MARIA EUGENIA",
                "FATTORUSO ANTONIO","FENIELLO CRISTINA","FERRAIOLI ANTONIO","FORLANO LOREDANA","GAGLIANO ANNA","GALDI MATTEO",
                "GAMBERO WILMA","GENCO GIUSEPPE","GIGI CARMINE","GILBLAS VINCENZO","GIORGIO RAFFAELE","INGENITO DOMENICO",
                "IZZO ROSA","LA MARCA CATERINA","LADALARDO ANTONIO","LANGELLA LUISA","LAPENTA GIUSEPPE","LAURITO SAVERIO",
                "LAURO GERARDO","LAVORIA NAZARENO","LEPORE ANNA IMMACOLATA","LIGUORI ANNA","LUCIBELLO STEFANO","LUONGO MARIA ROSARIA",
                "MACERA MARIA ROSARIA","MAIORINO ANTONIO","MALAFRONTE VINCENZO","MARRAZZO ANTONIETTA","MAZZARELLA PASQUALE",
                "MERCOGLIANO GILDA","MILITE DARIO","MILITE RAFFAELE","MILONE ENRICO","NAPOLETANO FILOMENA","NAPOLI GIOVANNA",
                "OLIVA ACHILLE","PADUANO ROSALBA","PALLINO RICCARDO","PANAGROSSO FERDINANDO","PANARIELLO GIUSEPPINA",
                "PEPE GERARDO","PEPE GIUSEPPE","POLLINE FRANCESCO","ROMANO ANNA","ROSSANO TERESA","RUOCCO RAFFAELE",
                "RUSSO ANTONIA","SALERNO DOMENICO","SALZANO VINCENZO","SANTONICOLA SILVANA","SAPORITO MAURIZIO","SAVARESE GIOVANNI",
                "SCARPATO CARLO","SCOGNAMIGLIO LUCIA","SCOGNAMIGLIO SALVATORE","SERINO OBERDAN","SIMPLICIO MARA",
                "SPINELLI LUIGI","SPOSATO SOFIA","STANZIONE ANIELLO","STARACE GIUSEPPE","TAMBURRINO MONICA","TEDESCO GIOVANNI","TODISCO LUIGI",
                "VACCARO FRANCESCO","VASTA ANGELA MARIA","VERNASSI GIULIO","VIGLIOTTI ANNAMARIA","VIOLA ALESSANDRA","VITIELLO FRANCESCO",
                "VOTO GIOVANNI"};
        public static final String[] g_gs= new String[]{"sabato","sabato","venerdì","venerdì","lunedì","mercoledì",
                "giovedì","venerdì","martedì","martedì","lunedì","venerdì","venerdì","giovedì","mercoledì","lunedì",
                "giovedì","venerdì","sabato","venerdì","giovedì","sabato","mercoledì","giovedì","mercoledì","martedì",
                "venerdì","venerdì","giovedì","martedì","giovedì","martedì","sabato","martedì","giovedì",
                "mercoledì","giovedì","mercoledì","martedì","martedì","venerdì","giovedì","martedì","sabato",
                "lunedì","martedì","martedì","martedì","venerdì","venerdì","martedì","martedì","lunedì",
                "lunedì","mercoledì","martedì","sabato","martedì","giovedì","lunedì","martedì","lunedì","venerdì","giovedì",
                "martedì","martedì","martedì","venerdì","venerdì","venerdì","mercoledì","venerdì","giovedì","martedì",
                "mercoledì","venerdì","giovedì","venerdì","mercoledì","venerdì","sabato","mercoledì","venerdì",
                "lunedì","lunedì","venerdì","martedì","venerdì","giovedì","martedì","lunedì","mercoledì","lunedì",
                "sabato","venerdì","martedì","venerdì","mercoledì","lunedì","venerdì","martedì","mercoledì",
                "venerdì","mercoledì","sabato","venerdì","venerdì","mercoledì","martedì","martedì"};
        public static final String[] d_ds= new String[]{"10.00","9.00","12.00","9.00","12.00","12.00","11.00","9.00",
                "11.00","9.00","9.00","10.00","11.00","11.00","11.00","10.00","10.00","9.00","10.00","9.00","9.00",
                "11.00","9.00","10.00","11.00","11.00","10.00","11.00","11.00","10.00","9.00","11.00","10.00","10.00",
                "10.00","10.00","11.00","10.00","11.00","10.00","10.00","11.00","11.00","11.00","12.00","11.00","10.00",
                "11.00","9.00","9.00","10.00","9.00","10.00","11.00","10.00","12.00","10.00","10.00","8.00","10.00","11.00",
                "9.00","9.00","9.00","12.00","11.00","10.00","11.00","9.00","9.00","10.00","12.00","10.00","9.00","10.00",
                "12.00","11.00","11.00","10.00","10.00","10.00","10.00","10.00","9.00","9.00","11.00","9.00","10.00","10.00",
                "11.00","10.00","10.00","11.00","11.00","11.00","9.00","10.00","11.00","10.00","11.00","11.00","9.00",
                "10.00","9.00","11.00","9.00","10.00","9.00","9.00","9.00"};
        public static final String[] a_as= new String[]{"11.00","10.00","13.00","10.00","13.00","13.00","12.00","10.00",
                "12.00","10.00","10.00","11.00","12.00","12.00","12.00","11.00","11.00","10.00","11.00","10.00","10.00",
                "12.00","10.00","11.00","12.00","12.00","11.00","12.00","12.00","11.00","10.00","12.00","11.00","11.00",
                "11.00","11.00","12.00","11.00","12.00","11.00","11.00","12.00","12.00","12.00","13.00","12.00","11.00",
                "12.00","10.00","10.00","11.00","10.00","11.00","12.00","11.00","13.00","11.00","11.00","9.00","11.00","12.00",
                "10.00","10.00","10.00","13.00","12.00","11.00","12.00","10.00","10.00","11.00","13.00","11.00","10.00","11.00",
                "13.00","12.00","12.00","11.00","11.00","11.00","11.00","11.00","10.00","10.00","12.00","10.00","11.00","11.00",
                "12.00","11.00","11.00","12.00","12.00","12.00","10.00","11.00","12.00","11.00","12.00","12.00","10.00",
                "11.00","10.00","12.00","10.00","11.00","10.00","10.00","10.00"};
       
    ListView listw;
    List<RIC_FAM> rf;
    EditText inputSearch;
        public void onCreate(Bundle bundle){
                super.onCreate(bundle);
                setContentView(R.layout.contact_list_ric_fam);
                setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
               
                rf = new ArrayList<RIC_FAM>();
        for (int i = 0; i < noms.length; i++) {
            RIC_FAM item = new RIC_FAM(noms[i], g_gs[i], d_ds[i],a_as[i]);
            rf.add(item);
        }
        listw = (ListView) findViewById(R.id.list_ric_famm);
         final CustomListViewric_fam adapter = new CustomListViewric_fam(this,R.layout.list_element_ric_fam, rf);
        inputSearch=(EditText)findViewById(R.id.inputSearch);
        listw.setAdapter(adapter);
        listw.setOnItemClickListener(this);
        listw.setTextFilterEnabled(true);
        inputSearch.addTextChangedListener(new TextWatcher() {
           
            @Override
            public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
                // When user changed the Text
                adapter.getFilter().filter(cs);  
            }
             
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
                // TODO Auto-generated method stub
                 
            }
             
            @Override
            public void afterTextChanged(Editable arg0) {
                // TODO Auto-generated method stub                          
            }
        });
       
    }    

     
       
         @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {
                Toast toast = Toast.makeText(getApplicationContext(),
                    noms[position] + " " + g_gs[position],
                    Toast.LENGTH_SHORT);
                toast.show();
            }
               
}

GRAZIE MILLE PER L'AIUTO!

Post unito: [time]25 Marzo 2014, 19:13:47 CET[/time]
Codice (Java): [Seleziona]
 @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                textLength=inputSearch.getText().length();
                rf.clear();
                for(int i=0;i<noms.length;i++)
                {
                  if(textLength<=noms[i].length())
                  {
                        String[] word=noms[i].split(" ");
                        for(int j=0;j<word.length;j++)
                        {
                               if(noms[i].toLowerCase().contains(inputSearch.getText().toString().toLowerCase()))
                                  {
                                   RIC_FAM items = new RIC_FAM(noms[i], g_gs[i], d_ds[i],a_as[i]);
                                   rf.add(items);                                                                              
                                       break;
                                       }
                      }
                    }
                   }
                     listw.setAdapter(adapter);
                 }

                        @Override
                        public void afterTextChanged(Editable s) {
                        }

                        @Override
                        public void beforeTextChanged(CharSequence s, int start, int count,
                                        int after) {
                        }      
        });
        }

}

HO RISOLTO COSì, SE QUALCUNO HA BISOGNO ECCO UN SEMI-TUTORIAL
« Ultima modifica: 25 Marzo 2014, 19:14:02 CET da Hildian »