Есть ли способ вставить еще один View
над List
в ListView
? Например, я хочу, чтобы панель заголовка (TextView) находилась поверх List
и прокручивается вне поля зрения в виде прокрутки списка. До сих пор я могу представить два способа сделать это, но оба они - хаки.ListView с заголовком
Idea # 1 - Используйте LinearLayout, который претендует на роль ListView. Но проблема в том, что вы не можете воспользоваться «умной» загрузкой/разгрузкой представлений, предоставляемых адаптером.
<ScrollView>
<LinearLayout>
<TextView/>
<LinearLayout
android:orientation="vertical" /> # add ListItems here
</LinearLayout>
</ScrollView>
Идея # 2 - Использование Hacky ArrayAdapter
, с помощью метода getView
похожее на это:
@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;
}
Обязательно позовите 'setAdapter (нуль);' перед установкой заголовка. Или добавьте адаптер только после настройки заголовка. – sriramramani
Ничего себе, я понятия не имел, что существует! – Matt