Android Blank screen when I add the ScrollView

1.7k Views Asked by At

I have this xml file. If I remove the ScrollView everything's fine, but when I add the ScrollView and put the rest of the code inside it, I can't see any of its contents. I can't understand if I'm implementing the ScrollView in a wrong way or if there's an error somewhere else. Could you help me? Thank you in advance

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroll"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">
<LinearLayout 
        android:id="@+id/listeditor_destra_reale"
        android:layout_width="0dp"
        android:layout_height="wrap_content" 
        android:layout_weight="2"
        android:orientation="vertical"
        android:paddingLeft="5dp" >
       <RelativeLayout
            android:paddingTop="10dp"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            >
    </RelativeLayout>
        <TextView
            android:id="@+id/tvNomeLista"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="20dp"
            android:text="@string/nomeLista"
            android:textSize ="@dimen/very_small"
            android:typeface="serif"
            android:textColor="@color/lightgrey" />
        <EditText
            android:imeOptions="actionDone"
            android:id="@+id/etNomeLista"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:textColor="@color/bluscuro"
            android:typeface="serif"
            android:textSize="@dimen/medium"
            android:paddingLeft="0dp"
            android:singleLine="true" >  
        </EditText>         
        <View
            android:paddingTop="5dp"
             android:layout_width="fill_parent"
             android:layout_height="1dp"
             android:background="@color/line"
             android:layout_marginBottom="15dp"/>
        <TextView
            android:id="@+id/tvDescrizioneLista"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:text="@string/DescrizioneLista"
            android:textSize ="@dimen/very_small"
            android:typeface="serif"
            android:textColor="@color/lightgrey"
             />
        <EditText
            android:imeOptions="actionDone"
            android:id="@+id/etDescrizioneLista"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:typeface="serif"
            android:textSize="@dimen/very_small"
            android:textColor="@color/bluscuro"
            android:paddingLeft="0dp"
            android:singleLine="true" />
        <View
            android:paddingTop="5dp"
             android:layout_width="fill_parent"
             android:layout_height="1dp"
             android:background="@color/line"
             android:layout_marginBottom="15dp" />
        <TextView
            android:id="@+id/tvLista"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:text="@string/lista"
            android:textSize ="@dimen/very_small"
            android:typeface="serif"
            android:textColor="@color/lightgrey" />
        <ListView
        android:id="@+id/dettaglioLista"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:cacheColorHint="@android:color/transparent"
        android:divider="#CCCCCC"
        android:dividerHeight="0dp"
        android:layout_marginTop="10dp"
        android:paddingLeft="2dp" >
         </ListView>

</LinearLayout>
</ScrollView>
2

There are 2 best solutions below

2
On BEST ANSWER

You've told your LinearLayout to be zero width, so there will be nothing to see or scroll.

Change the layout_width of your inner LinearLayout from 0dp to wrap_content like so:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroll"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">
    <LinearLayout
        android:id="@+id/listeditor_destra_reale"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:orientation="vertical"
        android:paddingLeft="5dp" >
        <RelativeLayout
            android:paddingTop="10dp"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            >
        </RelativeLayout>
        <TextView
            android:id="@+id/tvNomeLista"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="20dp"
            android:text="@string/nomeLista"
            android:textSize ="@dimen/very_small"
            android:typeface="serif"
            android:textColor="@color/lightgrey" />
        <EditText
            android:imeOptions="actionDone"
            android:id="@+id/etNomeLista"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:textColor="@color/bluscuro"
            android:typeface="serif"
            android:textSize="@dimen/medium"
            android:paddingLeft="0dp"
            android:singleLine="true" >
        </EditText>
        <View
            android:paddingTop="5dp"
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="@color/line"
            android:layout_marginBottom="15dp"/>
        <TextView
            android:id="@+id/tvDescrizioneLista"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:text="@string/DescrizioneLista"
            android:textSize ="@dimen/very_small"
            android:typeface="serif"
            android:textColor="@color/lightgrey"
            />
        <EditText
            android:imeOptions="actionDone"
            android:id="@+id/etDescrizioneLista"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:typeface="serif"
            android:textSize="@dimen/very_small"
            android:textColor="@color/bluscuro"
            android:paddingLeft="0dp"
            android:singleLine="true" />
        <View
            android:paddingTop="5dp"
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="@color/line"
            android:layout_marginBottom="15dp" />
        <TextView
            android:id="@+id/tvLista"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:text="@string/lista"
            android:textSize ="@dimen/very_small"
            android:typeface="serif"
            android:textColor="@color/lightgrey" />
        <ListView
            android:id="@+id/dettaglioLista"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent"
            android:cacheColorHint="@android:color/transparent"
            android:divider="#CCCCCC"
            android:dividerHeight="0dp"
            android:layout_marginTop="10dp"
            android:paddingLeft="2dp" >
        </ListView>

    </LinearLayout>
</ScrollView>
1
On

ScrollView not is a valid layout for use in the root of your view. Use a LinearLayout with a ScrollView for your root:

<?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="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/bg">

    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/scrollView11" >

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
... your things
        </LinearLayout>
    </ScrollView>

</LinearLayout>