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

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

25.07.2012, 13:40. Просмотров 4048. Ответов 13
Метки нет (Все метки)

Всем привет, столкнулся с проблемой при одновременном отображении ListView и TextView . Не получается отобразить эти 2 блока как единый блок с общей прокруткой. То есть получается если TextView будет занимать 95% по высоте экрана, а ListView будет отображаться в оставшихся 5%, соответственно будет прокручиваться в этих рамках. А если для полного отображение TextView требуется прокрутка, то ListView вообще скроется за пределы экрана.

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

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

Как решение данной проблемы можно рассчитать высоту которую должен занимать ListView учитывая весь контент в нем(в этом и заключается сложность), когда будет известна данная высота применить её на ListView.
Надеюсь объяснил все понятно

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

IsSelectable textview in ScrollView
Как понятно из названия темы, у меня хватило ума втулить isSelectable textview...

Прокрутка текста в TextView без ScrollView
В рантайме загружаю текст в TextView: String strFile = "Здесь длинная строка...

Listview and scrollview
Здравствуйте у меня такая проблема. есть LinearLayout в котором чередуется...

TextView в элементе ListView
Имеется ListView, у него как положена имеется кастомный адаптер с довольно...

Смена TextView в ListView
Суть: есть каталог товаров, список заполняется через ListView из базы.. с этим...

13
Noit
26 / 26 / 10
Регистрация: 11.04.2012
Сообщений: 870
25.07.2012, 13:45 #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>
1
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 13:50  [ТС] #3
К сожалению, данный способ работает так, как я описал в первом посте т.е. ListView не отображается на всю высоту и не прокручивается.
0
Noit
26 / 26 / 10
Регистрация: 11.04.2012
Сообщений: 870
25.07.2012, 14:01 #4
сбрось код
0
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 14:06  [ТС] #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>
0
Noit
26 / 26 / 10
Регистрация: 11.04.2012
Сообщений: 870
25.07.2012, 14:12 #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>
вот так пробовал??
0
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 14:20  [ТС] #7
Да, пробовал и насколько я понял читая доки, ListView нельзя вложить в ScrollView, возможно есть другие варианты решения данной проблемы?
0
Noit
26 / 26 / 10
Регистрация: 11.04.2012
Сообщений: 870
25.07.2012, 14:30 #8
а наужен именно list его нечем не хотите заменить??
0
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 14:43  [ТС] #9
Заменить думаю можно, но на что? В списке отображаются данные которые дергаются с удаленного сайта в виде XML.
0
Noit
26 / 26 / 10
Регистрация: 11.04.2012
Сообщений: 870
25.07.2012, 14:50 #10
может в webview?

Добавлено через 1 минуту
да и в textview можно вставить, а что находиться в xml файле?
0
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 14:56  [ТС] #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>
0
Noit
26 / 26 / 10
Регистрация: 11.04.2012
Сообщений: 870
25.07.2012, 15:00 #12
Цитата Сообщение от Noit Посмотреть сообщение
да и в textview можно вставить
переобразовать xml файл в строку и вывести в тект виев, только убрать тэги :
Java
1
2
str = str.replaceAll("<(.)+?>", "");
str = str.replaceAll("<(\n)+?>", "");
0
nanowar
1 / 1 / 0
Регистрация: 25.07.2012
Сообщений: 13
25.07.2012, 16:30  [ТС] #13
Такой способ тоже не совсем подходит т.к. кроме текста нужно будет выводить еще и картинку к тексту + текст должен быть оформлен как отдельный блок, который в будущем должен будет иметь свой onClickListener

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

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

Добавлено через 1 час 15 минут
Действительно, данный способ работает, буду использовать его.
0
Noit
26 / 26 / 10
Регистрация: 11.04.2012
Сообщений: 870
25.07.2012, 19:04 #14
по той же логике и мой пример был, почему он не работал
0
25.07.2012, 19:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2012, 19:04

ListView с несколькими TextView
Как сделать более одного TextView в одном элементе ListView, и как к ним...

Listview c двумя TextView
Добрый день Можете подсказать как создать Listview c двумя TextView чтоб один...

Получить количество строк в TextView (ListView)
привет всем. уже очень давно никак не могу получить количество строк в...


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

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

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