| |||||||
Das Thema "ListView ergebnisse wiederholen sich" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Android-Hilfe.de Mitglied Modell: Nexus S Registriert seit: 21.11.2010
Beiträge: 162
Abgegebene Danke: 9
Erhielt 15 Danke für 15 Beiträge
| ich habe einen ListView, an den ich eine AdapterKlasse, die von BaseAdapter abgeleitet ist, anbinde. Nun sind im ListView anstatt 1,2,3,4...... z.B.(100) immer 1,2,3,4,1,2,3,4,1,2,3,4, d.h. die Ergebnisse wiederholen sich andauernd. Kennt jemand das Problem? Aus der Datenbank kommen die Ergebnisse richtig. Erst nach listViewMW.setAdapter(mwSearchAdapter); läuft es verkehrt. Kann wer was dazu sagen! Danke! Grüße Bobert Code: DataBaseAdapter db = new DataBaseAdapter(this);
allObj = db.getMWObj(search);
listViewMW = (ListView)findViewById(R.id.lv_Produkts);
mwSearchAdapter = new MWAdapter(this,
getLayoutInflater(), getResources(), allObj);
listViewMW.setAdapter(mwSearchAdapter);
listViewMW.setOnItemClickListener(this); Code: public class MWAdapter extends BaseAdapter {
private LayoutInflater mLayoutInflater;
private ArrayList<MWObj> allMWObj;
private Resources mResources;
public MWAdapter(Context context, LayoutInflater li, Resources res, ArrayList<MaterialWorldObj> allObj) {
mLayoutInflater = li;
mResources = res;
allMWObj = allObj;
}
@Override
public int getCount() {
return allMWObj.size();
}
@Override
public Object getItem(int position) {
return allMWObj.get(position);
}
@Override
public long getItemId(int position) {
return allMWObj.size();;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int resID;
View mView = convertView;
if ( convertView == null ) {
mView = mLayoutInflater.inflate(R.layout.pitems, null);
// Add Title Text
TextView tvTitel = (TextView)mView.findViewById(R.id.list_titel);
tvTitel.setText(allMWObj.get(position).getName() );
// Add Title Text
TextView tvText = (TextView)mView.findViewById(R.id.list_text);
tvText.setText(allMWObj.get(position).getText());
// Add Image!
ImageView iv = (ImageView)mView.findViewById(R.id.list_item_image);
resID = mResources.getIdentifier(allMWObj.get(position).getImageName(), "drawable", "com.xyz.capa");
iv.setImageResource(resID);
}
return mView;
}
} Geändert von Bobert (01.10.2011 um 17:22 Uhr) |
| | |
| | #2 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 27.03.2010
Beiträge: 192
Abgegebene Danke: 16
Erhielt 35 Danke für 27 Beiträge
|
Schau dir am besten nochmal die Doku zu der getView Methode an. Sollt aber mit folgendem Code funktionieren: Code: @Override
public View getView(int position, View convertView, ViewGroup parent) {
int resID;
View mView = convertView;
if ( convertView == null ) {
mView = mLayoutInflater.inflate(R.layout.pitems, null);
}
// Add Title Text
TextView tvTitel = (TextView)mView.findViewById(R.id.list_titel);
tvTitel.setText(allMWObj.get(position).getName() );
// Add Title Text
TextView tvText = (TextView)mView.findViewById(R.id.list_text);
tvText.setText(allMWObj.get(position).getText());
// Add Image!
ImageView iv = (ImageView)mView.findViewById(R.id.list_item_image);
resID = mResources.getIdentifier(allMWObj.get(position).getImageName(), "drawable", "com.plebsapps.p4.caparol");
iv.setImageResource(resID);
return mView;
} |
| | |
| Folgender Benutzer bedankt sich bei ts-apps für diesen Beitrag: | Bobert (22.07.2011) |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Benachrichtigungen wiederholen | 0000 | HTC Desire Forum | 3 | 03.06.2011 09:09 |
| listView.setChoiceMode() in einer custom ListView | mr.freeze | Android App Entwicklung | 0 | 16.02.2011 09:57 |
| Klingelton wiederholen | tweak4 | Samsung Galaxy Spica (I5700) Forum | 1 | 03.11.2010 18:14 |