2017-07-20 28 views
0

こんにちは、ここで私のレイアウトコードは最後の項目のスクロールが途中で止まるまで問題をスクロールしています。スクロールビューとリストビューは最後の項目までスクロールしていません

<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" 
tools:context="fragment.Equivalent"> 
<ListView 
    android:id="@+id/listView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:visibility="visible" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:focusable="false"/> 

<TextView 
    android:id="@+id/txt404" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:text="Message that will be shown if the listview is empty" 
    android:textSize="21dp" 
    android:textStyle="bold" 
    android:visibility="invisible" /> 
</RelativeLayout> 
+0

'ListView'のサイズがisn RelativeLayoutよりも長いです。そうであれば、問題はスクロールではなく、実際のリストのどれくらいが画面に表示されているかによって決まります。 'ListView'の' android:layout_height = "match_parent" 'を試してください – moondaisy

+0

@Fatalフラグメントのコードを共有できますか? – VIX

答えて

0

解が制約レイアウトにレイアウトを変更し、リストビューのサイズを変更しました。

<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="fragment"> 

<ListView 
    android:id="@+id/listView" 
    android:layout_width="399dp" 
    android:layout_height="485dp" 
    android:layout_marginEnd="8dp" 
    android:layout_marginRight="0dp" 
    android:focusable="false" 
    android:visibility="visible" 
    app:layout_constraintHorizontal_bias="0.0" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent" 
    tools:layout_constraintLeft_creator="1" 
    tools:layout_constraintTop_creator="1" 
    app:layout_constraintBottom_toBottomOf="parent" 
    android:layout_marginBottom="8dp" 
    app:layout_constraintVertical_bias="0.0" /> 

<TextView 
    android:id="@+id/txt404" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="" 
    android:textSize="21dp" 
    android:textStyle="bold" 
    android:visibility="invisible" 
    tools:layout_constraintTop_creator="1" 
    tools:layout_constraintRight_creator="1" 
    tools:layout_constraintBottom_creator="1" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    tools:layout_constraintLeft_creator="1" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="parent" 
    app:layout_constraintHorizontal_bias="0.503" 
    app:layout_constraintVertical_bias="0.391" /> 

    </android.support.constraint.ConstraintLayout> 
0

してみてください。

javaファイル内
<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" 
    tools:context="fragment.Equivalent"> 
    <ScrollView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" 
      android:scrollbarStyle="insideOverlay" 
      style="@android:style/Widget.Holo.ScrollView"> 
    <TableLayout 
     android:id="@+id/table_layout_id" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
    </TableLayout> 
    </ScrollView> 
</RelativeLayout> 

、次の操作を行います。

TableLayout ll = (TableLayout) findViewById(R.id.table_layout_id); 
TableRow row = new TableRow(this);
  
TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
  
row.setLayoutParams(lp); 

 
 butt = new Button(this);
 //You can add button too, FYI 
butt.setText("TEST");
 
 
  
TextView tv = (TextView) findViewById(R.id.txt404); 

tv.setText("Text view");
  
tv2 = new TextView(this);
 //your job: add list view here 
tv2.setText("Text View 2");
 
 
  
row.addView(butt); 

 row.addView(tv1);
  
row.addView(tv2);
 
  
ll.addView(row, i); // where i is the row number, increment on addition 
+0

例外が発生するjava.lang.IllegalStateException:ScrollViewは直接の子を1つしかホストできません – Fatal

+0

私の答えが更新されました – Enigma

関連する問題