Such Funktion Problem

freelager

freelager

App-Anbieter (Beta)
4
Hallo Android Freunde.

Und zwar möchte ich eine such Funktion in meiner app machen und da habe ich ein Problem.

Ich benutze eine List Hashmap
Und die org.w3c.dom library.
Meine Daten von der listview sind in einer .xml
Ich habe schon versucht das irgendwie zu filtern aber ich war erfolglos.

Meine Baseadapter
Code:
public class BinderData extends BaseAdapter {

// XML node keys
    static final String KEY_TAG = "minecraftdata";
    static final String KEY_ID = "id";
    static final String KEY_NAME = "name";
    static final String KEY_BLOCKID = "blockid";
    static final String KEY_INFO = "info";
    static final String KEY_ICON = "icon";

LayoutInflater inflater;
ImageView thumb_image;
List minecraftDataCollection;
ViewHolder holder;
public BinderData() {
// TODO Auto-generated constructor stub
}

public BinderData(Activity act, List map) {

this.minecraftDataCollection = map;

inflater = (LayoutInflater) act
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}


public int getCount() {
// TODO Auto-generated method stub
//return idlist.size();
return minecraftDataCollection.size();
}

public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}

public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}

public View getView(int position, View convertView, ViewGroup parent) {
 
View vi=convertView;
    if(convertView==null){
     
      vi = inflater.inflate(R.layout.list_row, null);
      holder = new ViewHolder();
     
      holder.tvName = (TextView)vi.findViewById(R.id.tvName); 
      holder.tvId = (TextView)vi.findViewById(R.id.tvId);
      holder.tvMinecraftImage =(ImageView)vi.findViewById(R.id.list_image);
 
      vi.setTag(holder);
    }
    else{
    
    holder = (ViewHolder)vi.getTag();
    }

      // Setting all values in listview
      
      holder.tvName.setText(minecraftDataCollection.get(position).get(KEY_NAME));
      holder.tvId.setText("ID: " + minecraftDataCollection.get(position).get(KEY_BLOCKID));
      
        // image set
      String uri = "drawable/"+ "d" + minecraftDataCollection.get(position).get(KEY_ICON);
      int imageResource = vi.getContext().getApplicationContext().getResources().getIdentifier(uri, null, vi.getContext().getApplicationContext().getPackageName());
      Drawable image = vi.getContext().getResources().getDrawable(imageResource);
      holder.tvMinecraftImage.setImageDrawable(image);
      
      return vi;
}

static class ViewHolder{
TextView tvName;
TextView tvId;
ImageView tvMinecraftImage;
}

}

Wenn ihr mir helfen könnt wäre echt nett.

Dank voraus
Und als Hilfe wird ihr in meiner App erwähnt wenn ihr das möchtet.
 
Das ist echt schade das mir keiner helfen kann
 
Hallo,
stimmt ist schade, aber ich glaube fast das liegt etwas an deiner Fragestellung. Was verstehst du denn unter "herausfiltern"? Genauer gefragt: "Was sind deine Anforderungen, wie soll deine Suche funktionieren?"

Ich suche meistens wie Folgt:
Pseudocode...

loop durch die Liste{

if (eintragAnPositionX.toLowerCase().contains(gesuchterString.toLowerCase)){
trefferGefunden();
} else {
keinenTreffer();
}

}

beide Strings toLowerCase() hat zur Folge, dass deine Suche unabhängig von Groß und Kleinschreibung Ergebnisse liefert.

Vielleicht reicht dir das ja schon, wenn nicht wirst du nochmal ein paar Infos rausrücken müssen :D
 
Wo wird den die Suche durchgeführt und wonach soll sie suchen ?

Am besten wäre es, wenn du den Codeteil postest in welchem die Suche durchgeführt wird :)
 

Ähnliche Themen

W
  • WuDiDong
Antworten
3
Aufrufe
784
jogimuc
J
A
Antworten
10
Aufrufe
1.034
swa00
swa00
5
Antworten
5
Aufrufe
1.235
jogimuc
J
Zurück
Oben Unten