Android: есть просмотр списка в ScrollView, поэтому прокрутка просмотра списка не происходит. - PullRequest
0 голосов
/ 16 сентября 2011

У меня есть этот тип макета

<LinearLayout>
<ScrollView>
<LinearLayout>
    <ImageView/>
    <button>
    <ListView>
</LinearLayout> 
</ScrollView>

Так что в этом случае моя прокрутка представления списка не происходит и моя прокрутка просмотра выполняется, я хочу также выполнять прокрутку просмотра списка, когда данные,и представление списка необходимо поместить в родительский макет просмотра прокрутки, поэтому, как можно решить эту проблему, помогите мне.

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Никогда не помещайте ListView внутрь ScrollView. Никогда . У вас есть два варианта:

  1. Если вы не хотите, чтобы ImageView и Button прокручивались, просто удалите ScrollView:

    <LinearLayout android:orientation="vertical" ...>
        <ImageView .../>
        <Button .../>
        <ListView .../>
    </LinearLayout>
    
  2. Это немного сложнее. Реализуйте пользовательский адаптер списка (например, расширяя BaseAdapter или один из его подклассов) и в своем методе getView верните ImageView и Button для позиций 0 и 1 соответственно , Таким образом, ваш макет будет содержать только ListView, но первые два элемента будут ImageView и Button.

P.S .: Никогда не ставьте ScrollView в ListView.

0 голосов
/ 16 сентября 2011

Я не понимаю, для чего вы тоже пытаетесь использовать ScrollView с ListView? Если ваш макет действительно больше экрана, тогда будет хорошо использовать ScrollView, как описано здесь:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:scrollbars="vertical" 
        android:visibility="visible">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
  ..your any xml data
</LinearLayout>
</ScrollView>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...