1
我有一個ListView,並且我希望它的前兩個條目與其他條目不同。沒有什麼奇特的,我希望他們都只是文本瀏覽。但前兩項需要與其他項目不同的尺寸和重量。我嘗試修改ArrayAdapter類,如下所示:風格第一2在Android ListView中的TextViews不同
private class BusStopAdapter<T> extends ArrayAdapter<T>{
public BusStopAdapter(
Context context, int textViewResourceId,
List<T> objects)
{
super(context, textViewResourceId, objects);
}
public View getView(int position, View convertView,
ViewGroup parent)
{
TextView toReturn =
(TextView)super.getView(position, convertView, parent);
if(position == 0){
toReturn.setTextSize(12);
toReturn.setText("Previous Bus: " + toReturn.getText());
toReturn.setPadding(0,0,0,0);
}
else if(position == 1){
toReturn.setTextSize(20);
toReturn.setPadding(
toReturn.getPaddingLeft(),
0,
toReturn.getPaddingRight(),
0
);
toReturn.setText("Next Bus: " + toReturn.getText());
toReturn.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.TOP);
}
return toReturn;
}
}
但是這無意中導致一些其他textviews承擔這些特殊屬性。我認爲這是因爲導致textviews在AbsListAdapter類中被「回收」。
真棒。那樣做了。我正在考慮這樣做,但我認爲super.getView應該工作。可能不會。 – 2010-12-21 05:47:22
不錯......................... – viv 2010-12-21 05:57:51