Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
#1

Как использовать ListView.setHeaderView()

15.08.2012, 01:12. Просмотров 1294. Ответов 6
Метки нет (Все метки)

Есть вот такой layout, описывающий нижнюю половину активити:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/backrepeat">
    
    <ListView
        android:id="@+id/list_comments"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        
    </ListView>
    
</LinearLayout>
Есть еще один layout-файл, описывающий верхнюю половину этого же активити.

Как взять ListView из нижней половины и прикрепить к нему верхнюю часть активити с помощью метода setHeaderView?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2012, 01:12
Ответы с готовыми решениями:

Как использовать RadioButton в ListView?
Хочу использовать свой ListView с расположены на нем тремя TextView и...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton?
Добрый день. Затрудняюсь понять один момент: У меня есть ListView,...

ListView. После добавления кнопки перестал быть доступен сам ListView
Кастомизировал ListView с помощью нескольких TextView. Но после того, как...

Listview вывод данных и переход по нажатию на другой Listview SQLite
Доброго извините за название темы, долго не мог сформировать название, В общем...

Данные из SQlite в ListView, обработка события ListView
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные...

6
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.08.2012, 01:21 #2
а разве у листа есть такой метод?
используйте include - http://developer.android.com/intl/ru...g-layouts.html
0
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
15.08.2012, 01:27  [ТС] #3
а, да, точно, там addHeaderView()

Добавлено через 1 минуту
Просто моя задача свелась к тому, что пользователь должен скролить верхнюю и нижнюю части вместе. По этому тут addHeaderView() однозначно..
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.08.2012, 01:45 #4
void addHeaderView(View v, Object data, boolean isSelectable)
Add a fixed view to appear at the top of the list.
void addHeaderView(View v)
Add a fixed view to appear at the top of the list.

по описанию вроде как не скролится... а в чем проблема заюзать этот метод?

Добавлено через 1 минуту
public void addHeaderView (View v, Object data, boolean isSelectable)

Since: API Level 1
Add a fixed view to appear at the top of the list. If addHeaderView is called more than once, the views will appear in the order they were added. Views added using this call can take focus if they want.

NOTE: Call this before calling setAdapter. This is so ListView can wrap the supplied cursor with one that will also account for header and footer views.

Parameters
v The view to add.
data Data to associate with this view
isSelectable whether the item is selectable
public void addHeaderView (View v)

Since: API Level 1
Add a fixed view to appear at the top of the list. If addHeaderView is called more than once, the views will appear in the order they were added. Views added using this call can take focus if they want.

NOTE: Call this before calling setAdapter. This is so ListView can wrap the supplied cursor with one that will also account for header and footer views.

Parameters
v The view to add.

Добавлено через 3 минуты
ListView listView = getListView();
View headerView = getLayoutInflater().inflate(R.layout.second_layout, null);
listView.addHeaderView(headerView);
0
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
15.08.2012, 01:56  [ТС] #5
Цитата Сообщение от V0v1k Посмотреть сообщение
ListView listView = getListView();
View headerView = getLayoutInflater().inflate(R.layout.second_layout, null);
listView.addHeaderView(headerView);
Жалко, делал так с самого начала. Думал, что неправильно делаю, так как ловлю до сих пор ResourcesNotFoundException
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.08.2012, 14:19 #6
выложите проект, проверю что не так.

Добавлено через 14 минут
наверное где-то с id-шками напутали раз такой екзепшен.

Добавлено через 12 часов 3 минуты
таки скролится этот хедер, и никаких екзепшенов не вылазит.
0
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
17.08.2012, 18:47  [ТС] #7
V0v1k, да, действительно. Ошибся по невнимательности. Вместо R.layout пихал R.id.
0
17.08.2012, 18:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2012, 18:47

Передача данных из ListView в другой Activity в ListView
Добрый день. Пытаюсь разобраться с передачей данных с ListView, но выходит что...

Копирование данных из 1 listView во 2 listView
Нужно что бы при нажатии на один элемент в первом ListView он копировался во...

Как перевернуть ListView?
Здравствуйте! Подскажите, пожалуйста, как перевернуть ListView. Чтобы новые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru