Có cách nào để chèn View
khác lên trên List
trong một ListView
không? Ví dụ, tôi muốn một thanh tiêu đề (TextView) nằm trên đầu trang của List
và cuộn ra khỏi dạng xem dưới dạng cuộn danh sách. Tôi có thể nghĩ về hai cách cho đến nay để làm điều này, nhưng cả hai đều là hack.ListView với tiêu đề
Ý tưởng số 1 - Sử dụng LinearLayout giả vờ là một ListView. Nhưng vấn đề là bạn không thể tận dụng lợi thế của việc tải/dỡ các chế độ xem "thông minh" mà bộ điều hợp cung cấp.
<ScrollView>
<LinearLayout>
<TextView/>
<LinearLayout
android:orientation="vertical" /> # add ListItems here
</LinearLayout>
</ScrollView>
Idea # 2 - Sử dụng một hacky ArrayAdapter
, với một phương pháp getView
tương tự như sau:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(position == 0)
View view = inflater.inflate(R.layout.special_list_item, null);
else
View view = inflater.inflate(R.layout.regular_list_item, null);
...
return vi;
}
Đảm bảo gọi 'setAdapter (null);' trước khi đặt tiêu đề. Hoặc, chỉ thêm bộ điều hợp sau khi đặt tiêu đề. – sriramramani
Chà, tôi không biết là đã tồn tại! – Matt