D
DrLiightninG
Neues Mitglied
- 1
Hallo zusammen,
ich habe eine ListView, welche mit mehreren Items gefüllt wird. Derzeit sind es insgesamt fünf (5) Items.
Diese werden alle aus meiner MySQL Datenbank richtig geladen. Nach dem Einfügen in die ListView (adapter.add(Item)) werden die Items auch alle richtig dargestellt. Das heißt überall sind die TextViews mit dem richtigen Inhalt gefüllt.
Allerdings habe ich mir die IDs der Items ausgeben lassen. Diese sehen folgendermaßen aus: ID 1, ID 2, ID 3, ID 1, ID 2.
Sie sollten jedoch in folgender Reihenfolge sein: ID1, ID 2, ID 3, ID 4, ID 5.
Den Fehler habe ich bisher noch nicht gefunden. Ich hoffe mir kann da jemand helfen.
Hier der Code vom Adapter:
Gruß
Jan
ich habe eine ListView, welche mit mehreren Items gefüllt wird. Derzeit sind es insgesamt fünf (5) Items.
Diese werden alle aus meiner MySQL Datenbank richtig geladen. Nach dem Einfügen in die ListView (adapter.add(Item)) werden die Items auch alle richtig dargestellt. Das heißt überall sind die TextViews mit dem richtigen Inhalt gefüllt.
Allerdings habe ich mir die IDs der Items ausgeben lassen. Diese sehen folgendermaßen aus: ID 1, ID 2, ID 3, ID 1, ID 2.
Sie sollten jedoch in folgender Reihenfolge sein: ID1, ID 2, ID 3, ID 4, ID 5.
Den Fehler habe ich bisher noch nicht gefunden. Ich hoffe mir kann da jemand helfen.
Hier der Code vom Adapter:
Code:
import android.content.Context;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Jan on 06.03.2016.
*/
public class PartyAdapter extends ArrayAdapter{
List list = new ArrayList();
MainActivity.PlaceholderFragment act;
PartyItem partyItem;
PartyAdapter pAdapter = this;
public PartyAdapter(Context context, int resource) {
super(context, resource);
}
public void setAct(MainActivity.PlaceholderFragment pAct) {
act = pAct;
}
public void add(PartyItem object) {
super.add(object);
list.add(object);
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row;
row = convertView;
final ItemHolder itemHolder;
partyItem = (PartyItem) this.getItem(position);
if(row == null) {
LayoutInflater layoutInflater = (LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = layoutInflater.inflate(R.layout.list_item_new,parent,false);
itemHolder = new ItemHolder();
itemHolder.name_tv = (TextView) row.findViewById(R.id.party_name);
itemHolder.adresse_tv = (TextView) row.findViewById(R.id.party_adresse);
itemHolder.zeit_tv = (TextView) row.findViewById(R.id.party_zeit);
itemHolder.club_tv = (TextView) row.findViewById(R.id.party_club);
itemHolder.addfav_b = (ImageView) row.findViewById(R.id.fav_b);
itemHolder.age_pic = (ImageView) row.findViewById(R.id.age_pic);
row.setTag(itemHolder);
}
else {
itemHolder = (ItemHolder) row.getTag();
}
itemHolder.fav = partyItem.getPartyFav();
itemHolder.id = partyItem.getPartyID();
//Hier die Ausgabe der Item ID:
Toast.makeText(getContext(), "Party ID: " + itemHolder.id, Toast.LENGTH_LONG).show();
itemHolder.age = partyItem.getPartyAge();
if(itemHolder.age.equals("16")) {
itemHolder.age_pic.setImageResource(R.drawable.ab16);
}
if(itemHolder.age.equals("18")) {
itemHolder.age_pic.setImageResource(R.drawable.ab18);
}
itemHolder.item = (PartyItem) this.getItem(position);
if(itemHolder.fav) {
itemHolder.addfav_b.setImageResource(R.drawable.fav);
}
itemHolder.addfav_b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
if(!itemHolder.fav) {
itemHolder.fav = true;
act.addPartyFav(itemHolder.item);
itemHolder.addfav_b.setImageResource(R.drawable.fav);
}
else {
itemHolder.fav = false;
act.removePartyFav(itemHolder.item, pAdapter);
itemHolder.addfav_b.setImageResource(R.drawable.addfavbunt);
}
}
});
//Diese Views werden richtig gefüllt:
itemHolder.name_tv.setText(partyItem.getPartyName());
itemHolder.club_tv.setText(partyItem.getClubName());
itemHolder.adresse_tv.setText(partyItem.getPartyAdresse());
itemHolder.zeit_tv.setText(partyItem.getPartyZeit());
return row;
}
static class ItemHolder {
TextView name_tv, zeit_tv, adresse_tv, club_tv;
ImageView addfav_b, age_pic;
int id;
String age;
boolean fav;
PartyItem item;
}
}
Gruß
Jan