Ich verwende BaseAdapter
für die Anzeige einiger Elemente.Seltsames ListAdapter Verhalten
Ich möchte den Text für Artikel an der Position Null nicht ändern.
So getView
Methode meiner BaseAdapter
sieht aus wie
public View getView(int position, View view, ViewGroup parent) {
try {
if(view == null) {
view = LayoutInflater.from(context).inflate(R.layout.item_bill, parent, false);
}
Log.e("BillAdapter", "Position :: " + position);
if(position == 0) {
Log.e("BillAdapter", "Position zero. Not changing values....");
} else {
Bill bill = items.get(position);
Log.e("BillAdapter", position + " :: " + bill.toString());
TextView textDate = (TextView) view.findViewById(R.id.text_date);
textDate.setText(bill.getDate());
TextView textPaidAmount = (TextView) view.findViewById(R.id.text_paid_amount);
textPaidAmount.setText(String.format("%2.2f", bill.getPaidAmount()));
}
} catch (Exception ex) {
Log.e("BillAdpater", Log.getStackTraceString(ex));
}
return view;
}
Aber meine Ausgangs
ist ich die gleiche Logik in meine alle Anwendungen bin mit und es funktioniert. Ich weiß nicht, was daran falsch ist.
Es gibt den letzten Wert an der ersten Position an.
Ich habe versucht, das Projekt neu zu erstellen, reinigen Sie das Projekt, aber keinen Erfolg.
Vielen Dank im Voraus.
Was möchten Sie tun, wenn 'position == 0'? –
Ich möchte den Wert nicht ändern, der in 'TextView's von 'item_bill' Layoutdatei geschrieben wurde – ELITE
Sie können sich nicht auf diese Logik verlassen. Sie müssen die Standardwerte für die 0-Position festlegen. –