Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
#1

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

15.08.2012, 01:12. Просмотров 1138. Ответов 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?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.08.2012, 01:21     Как использовать ListView.setHeaderView() #2
а разве у листа есть такой метод?
используйте include - http://developer.android.com/intl/ru...g-layouts.html
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
15.08.2012, 01:27  [ТС]     Как использовать ListView.setHeaderView() #3
а, да, точно, там addHeaderView()

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

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

Добавлено через 12 часов 3 минуты
таки скролится этот хедер, и никаких екзепшенов не вылазит.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2012, 18:47     Как использовать ListView.setHeaderView()
Еще ссылки по теме:

Android Как присвоить обработчик ListView?
Скроллинг ViewPager-а как у ListView Android
Как перевернуть ListView? Android
Как убрать прокрутку ListView Android
Как реализовать поиск по Listview? Android

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

Или воспользуйтесь поиском по форуму:
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
17.08.2012, 18:47  [ТС]     Как использовать ListView.setHeaderView() #7
V0v1k, да, действительно. Ошибся по невнимательности. Вместо R.layout пихал R.id.
Yandex
Объявления
17.08.2012, 18:47     Как использовать ListView.setHeaderView()
Ответ Создать тему
Опции темы

Текущее время: 04:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru