
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
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.
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.