我使用BaseAdapter
顯示一些項目。奇怪的ListAdapter行爲
我不想在位置零處更改項目的文本。
所以我BaseAdapter
getView
方法看起來像
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;
}
但我的輸出是
我使用的是同樣的邏輯在我所有的應用程序和它的作品。我不知道這是什麼錯誤。
它反映了第一個位置的最後一個值。
我試圖重建項目,清理項目,但沒有成功。
在此先感謝。
如果位置== 0,你想要做什麼? –
我不想改變從'item_bill'佈局文件中寫入'TextView'的值 – ELITE
您不能依賴那個邏輯。您需要設置0位置的默認值。 –