2016-08-12 6 views
0

Guten Abend, Es ist wahr, dass ich ein Tutorial zum Erstellen einer Suchleiste für ListView gefunden habe. Unter denen, denen ich folgte, ist: Android Adding Search Functionality to ListView. Der Code funktioniert gut, aber ich kann ihn nicht an meine Liste anpassen. Ich musste mein Projekt von Anfang an neu starten, weil ich es vermasselt habe. Ich bin ein Anfänger in Android-Programmierung und brauche wirklich Hilfe. Hier ist mein Code: ShoppingListActivity.javaSuchfilter zu meinem Listeneintrag hinzufügen

public class ShoppingListActivity extends Activity { 

private List<Produit> mCartList; 
private ProduitAdapter mProductAdapter; 
EditText inputSearch; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.shoppinglist); 


    mCartList = ShoppingListHelper.getCartList(); 

    // Make sure to clear the selections 
    for(int i=0; i<mCartList.size(); i++) { 
    mCartList.get(i).selected = false; 
    } 


    // Create the list 
    final ListView listViewCatalog = (ListView) findViewById(R.id.ListViewCatalog); 
    mProductAdapter = new ProduitAdapter(mCartList, getLayoutInflater(), true); 
    listViewCatalog.setAdapter(mProductAdapter); 

    inputSearch = (EditText) findViewById(R.id.search); 

    inputSearch.addTextChangedListener(new TextWatcher() { 

     @Override 
     public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) { 
     } 

     @Override 
     public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } 

     @Override 
     public void afterTextChanged(Editable arg0) { 
      String text = inputSearch.getText().toString().toLowerCase(Locale.getDefault()); 
      mProductAdapter.filter(text);} 
    }); 


    listViewCatalog.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, 
    long id) { 
    Intent productDetailsIntent = new Intent(getBaseContext(),ProduitDetailsActivity.class); 
    productDetailsIntent.putExtra(ShoppingListHelper.PRODUCT_INDEX, position); 
    startActivity(productDetailsIntent); 
    } 
    }); 

} 

und das ist, was ShoppingListHelper.java enthält:

public static List<Produit> getCatalog(Resources res){ 
    if(catalog == null) { 
     catalog = new Vector<Produit>(); 
     catalog.add(new Produit("Nutella", res 
     .getDrawable(R.drawable.nutella), 
     "Pate à tartiner au chocolat, au bon goût de noisettes", 750)); 
    } 

    return catalog; 
    } 

Und ProduitAdapter.java

 public class ProduitAdapter extends BaseAdapter { 


private List<Produit> mProductList; 
private LayoutInflater mInflater; 
private boolean mShowQuantity; 


private ArrayList<Produit> arraylist; 
public ProduitAdapter(List<Produit> list, LayoutInflater inflater, boolean showQuantity) { 
    mProductList = list; 
    mInflater = inflater; 
    mShowQuantity = showQuantity; 
} 

@Override 
public int getCount() { 
    return mProductList.size(); 
} 

@Override 
public Object getItem(int position) { 
    return mProductList.get(position); 
} 

@Override 
public long getItemId(int position) { 
    return position; 
} 


public void filter(String charText) { 
     charText = charText.toLowerCase(Locale.getDefault()); 
     mProductList.clear(); 
     if (charText.length() == 0) { 
      mProductList.addAll(arraylist); 
     } 
     else 
     { 
      for (Produit wp : arraylist) 
      { 
       if (wp.getProduct().toLowerCase(Locale.getDefault()).startsWith(charText)) 
       { 
        mProductList.add(wp); 
       } 
      } 
     } 
     notifyDataSetChanged(); 
    } 

ich Eclipse JUNO verwenden.

EDITED: Wie Sie in meinem Code sehen, habe ich einen Filter implementiert, aber meine editText funktioniert nicht! in der Zusammenstellung werden keine Fehler angezeigt!

Vielen Dank im Voraus.

+3

Ihr Link in Frage gebrochen ist. Sie haben keine Log-Nachrichten des Problems hinzugefügt noch was das eigentliche Problem ist, und Ihr Code ist nicht vollständig. –

+0

Dies ist der Link: http://www.androidhive.info/2012/09/android-adding-search-functionality-to-listview/ –

+0

Ok, aber Ihre Probleme sind noch nicht geklärt. Welche Schwierigkeit hast du? –

Antwort

Verwandte Themen