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

TextView и ListView с единой прокруткой ScrollView(?) - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.77
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 13:40     TextView и ListView с единой прокруткой ScrollView(?) #1
Всем привет, столкнулся с проблемой при одновременном отображении ListView и TextView . Не получается отобразить эти 2 блока как единый блок с общей прокруткой. То есть получается если TextView будет занимать 95% по высоте экрана, а ListView будет отображаться в оставшихся 5%, соответственно будет прокручиваться в этих рамках. А если для полного отображение TextView требуется прокрутка, то ListView вообще скроется за пределы экрана.

Я же хочу сделать чтобы ListView отображался в конце TextView, как вложенный элемент.

Пробовал завернуть эти 2 блока в один ScrollView, в итоге ListView отображается не на всю высоту и не прокручивается(ну это логично, в данном случае ScrollView накладывается на ListView и последний не обрабатывает прокрутку)

Как решение данной проблемы можно рассчитать высоту которую должен занимать ListView учитывая весь контент в нем(в этом и заключается сложность), когда будет известна данная высота применить её на ListView.
Надеюсь объяснил все понятно
Миниатюры
TextView и ListView с единой прокруткой ScrollView(?)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2012, 13:40     TextView и ListView с единой прокруткой ScrollView(?)
Посмотрите здесь:

Android Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ?
Получить количество строк в TextView (ListView) Android
Android Передать из строки ListView в 2 поля TextView?
Android Listview and scrollview
Как создать ListView с двумя TextView и работать с ними Android
Android Получить текст из одного TextView в кастомном ListView
Получить доступ к TextView внутри ListView Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Noit
 Аватар для Noit
23 / 23 / 2
Регистрация: 11.04.2012
Сообщений: 847
25.07.2012, 13:45     TextView и ListView с единой прокруткой ScrollView(?) #2
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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:orientation="vertical" 
     android:layout_gravity="right">
     
    <ScrollView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/scroll">
 
         <LinearLayout
             android:id="@+id/info"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical">
     <!-- попробуйте вставить ваше  ListView и TextView сюда-->
         </LinearLayout>
    </ScrollView>
</LinearLayout>
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 13:50  [ТС]     TextView и ListView с единой прокруткой ScrollView(?) #3
К сожалению, данный способ работает так, как я описал в первом посте т.е. ListView не отображается на всю высоту и не прокручивается.
Noit
 Аватар для Noit
23 / 23 / 2
Регистрация: 11.04.2012
Сообщений: 847
25.07.2012, 14:01     TextView и ListView с единой прокруткой ScrollView(?) #4
сбрось код
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 14:06  [ТС]     TextView и ListView с единой прокруткой ScrollView(?) #5
На текущий момент выглядит так, без ScrollView.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@color/MainBG">
    
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/corner">
  
        <TextView
            android:id="@+id/text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingLeft="4dip"
            android:textSize="13sp"/>
    </LinearLayout>
    
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"/>
</LinearLayout>
Noit
 Аватар для Noit
23 / 23 / 2
Регистрация: 11.04.2012
Сообщений: 847
25.07.2012, 14:12     TextView и ListView с единой прокруткой ScrollView(?) #6
у тебя list и text находяться в разных layout -ах, поэтому и отображаются отдельно

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?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:orientation="vertical" 
     android:layout_gravity="right">
     
    <ScrollView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/scroll">
 
         <LinearLayout
             android:id="@+id/info"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical">
     
<TextView
            android:id="@+id/text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingLeft="4dip"
            android:textSize="13sp"/>
    
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"/>
 
         </LinearLayout>
    </ScrollView>
</LinearLayout>
вот так пробовал??
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 14:20  [ТС]     TextView и ListView с единой прокруткой ScrollView(?) #7
Да, пробовал и насколько я понял читая доки, ListView нельзя вложить в ScrollView, возможно есть другие варианты решения данной проблемы?
Noit
 Аватар для Noit
23 / 23 / 2
Регистрация: 11.04.2012
Сообщений: 847
25.07.2012, 14:30     TextView и ListView с единой прокруткой ScrollView(?) #8
а наужен именно list его нечем не хотите заменить??
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 14:43  [ТС]     TextView и ListView с единой прокруткой ScrollView(?) #9
Заменить думаю можно, но на что? В списке отображаются данные которые дергаются с удаленного сайта в виде XML.
Noit
 Аватар для Noit
23 / 23 / 2
Регистрация: 11.04.2012
Сообщений: 847
25.07.2012, 14:50     TextView и ListView с единой прокруткой ScrollView(?) #10
может в webview?

Добавлено через 1 минуту
да и в textview можно вставить, а что находиться в xml файле?
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 14:56  [ТС]     TextView и ListView с единой прокруткой ScrollView(?) #11
WebView я так понимаю это отображение с сайта? т.е. обычный браузер? такой вариант не подходит...
В XML данные примерно следующего содержания, которые нужно распарсить и вывести в приложении..
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
<data>
    <nav>
        <id>1</id>
        <text>Test Text</text>
    </nav>
    <nav>
        <id>2</id>
        <text>Test Text</text>
    </nav>
    <nav>
        <id>3</id>
        <text>Test Text</text>
    </nav>
</data>
Noit
 Аватар для Noit
23 / 23 / 2
Регистрация: 11.04.2012
Сообщений: 847
25.07.2012, 15:00     TextView и ListView с единой прокруткой ScrollView(?) #12
Цитата Сообщение от Noit Посмотреть сообщение
да и в textview можно вставить
переобразовать xml файл в строку и вывести в тект виев, только убрать тэги :
Java
1
2
str = str.replaceAll("<(.)+?>", "");
str = str.replaceAll("<(\n)+?>", "");
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 16:30  [ТС]     TextView и ListView с единой прокруткой ScrollView(?) #13
Такой способ тоже не совсем подходит т.к. кроме текста нужно будет выводить еще и картинку к тексту + текст должен быть оформлен как отдельный блок, который в будущем должен будет иметь свой onClickListener

Есть еще какие-нибудь варианты? В идеале нужен способ который будет брать XML шаблон для списка, забивать его значениями и дописывать в конец существующего layot'a.

Наткнулся на возможный вариант решения проблемы http://www.dreamincode.net/forums/to...namic-layouts/

Добавлено через 1 час 15 минут
Действительно, данный способ работает, буду использовать его.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2012, 19:04     TextView и ListView с единой прокруткой ScrollView(?)
Еще ссылки по теме:

Android Прокрутка текста в TextView без ScrollView
Android TextView в элементе ListView
Android Смена TextView в ListView
ListView с несколькими TextView Android
IsSelectable textview in ScrollView Android

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

Или воспользуйтесь поиском по форуму:
Noit
 Аватар для Noit
23 / 23 / 2
Регистрация: 11.04.2012
Сообщений: 847
25.07.2012, 19:04     TextView и ListView с единой прокруткой ScrollView(?) #14
по той же логике и мой пример был, почему он не работал
Yandex
Объявления
25.07.2012, 19:04     TextView и ListView с единой прокруткой ScrollView(?)
Ответ Создать тему
Опции темы

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