2016-03-02 8 views
1

У моего приложения есть два раздела, которые можно сделать сегодня и на предстоящие дни.Невозможно заставить ScrollView работать в приложении

Я могу скрыть/показать их, нажав соответствующую кнопку, но когда я открою их, может быть слишком много информации, и я могу прокручивать список только для предстоящих дней, а не для всего экрана.

Я сделал несколько поисков, и я продолжал видеть всплывающее окно ScrollView, но я не могу заставить его работать, это приводит к сбою моего приложения.

Вот мой XML-файл

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context="eu.agp_it.agpmobilemover.OverviewActivity"> 
    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:weightSum="1.0" 
      android:gravity="center" 
      android:id="@+id/layout_button_today"> 
      <Button 
       android:id="@+id/overview_button_today" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.95" 
       android:layout_width="0dp" 
       android:textSize="20sp" 
       android:text="@string/overview_today" 
       android:gravity="center" 
       android:layout_marginTop="5px" 
       android:layout_marginBottom="5px" 
       android:background="@drawable/custom_buttonoverview" 
       android:onClick="buttonTodayOnClick"/> 
     </LinearLayout> 
     <LinearLayout 
      android:id="@+id/layout_listview_today" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/layout_button_today"> 
      <ListView 
       android:id="@+id/listviewtoday" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:dividerHeight="1dp" 

       android:visibility="visible"/> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/layout_button_upcoming" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:weightSum="1.0" 
      android:gravity="center" 
      android:layout_below="@id/layout_listview_today"> 
      <Button 
       android:id="@+id/overview_button_upcoming" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.95" 
       android:layout_width="0dip" 
       android:textSize="20sp" 
       android:text="@string/overview_upcoming" 
       android:background="@drawable/custom_buttonoverview" 
       android:gravity="center" 
       android:layout_marginTop="5px" 
       android:layout_marginBottom="5px" 
       android:onClick="buttonUpcomingOnClick"/> 
     </LinearLayout> 
     <LinearLayout 
      android:id="@+id/layout_listview_upcoming" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/layout_button_upcoming"> 
      <ListView 
       android:id="@+id/listviewupcoming" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:dividerHeight="1dp" 

       android:visibility="gone"/> 
     </LinearLayout> 
    </ScrollView> 


</RelativeLayout> 
+1

a) Вы должны разместить свой журнал аварий. b) Вам разрешено иметь только один дочерний вид внутри 'ScrollView', вы можете поместить' LinearLayout' внутри 'ScrollView' и поместить все в это представление. c) Вы не должны помещать 'ListView' внутри' ScrollView'. d) Вы не должны помещать больше одного «ListView» в представление. – Sharj

+0

@Sharj, но если я должен помещать несколько представлений ListViews в представление, как я могу перечислить оба назначения на сегодняшний день и на предстоящие дни? – Madgarr

+0

вы можете обработать это в своем адаптере 'ListView'. – Sharj

ответ

0

Вы, наверное, не нужно Scrollview вообще. ListViews уже выполняет прокрутку для вас. Прокрутка прокрутки не рекомендуется.

Попробуйте использовать ScrollView. Каждый LinearLayout может занимать половину экрана или любую сумму, которую вы хотите. Вы также можете использовать ExpandableListView, который позволит вам расширять и сворачивать назначения на сегодняшний день и в ближайшие дни на основе их заголовка («Сегодня», «Предстоящий»). Таким образом вам понадобится только один ListView. Так было бы легче поддерживать.

+0

Я попробую использовать ExpandableListView, спасибо за информацию! – Madgarr

+0

Просто посмотрел несколько примеров для ExpandableListViews, и я не думаю, что могу разместить столько информации о них, сколько мне нужно:/Мне нужно несколько кнопок и несколько текстовых полей, поэтому, я думаю, я могу просто попробовать и сделать свое решение без ScrollView по мере возможности использования. – Madgarr

Смежные вопросы