2013-06-05 8 views
6

相対レイアウトがあり、水平方向のスクロールビューでプログラムで画像ビューを追加しています。これはxml.whenに配置されており、horizo​​ntalScrollView .. imageviewを追加しようとしました。一つだけchild.could君たちはHorizo​​ntalScrollViewは1つの直接子をホストすることができます

RelativeLayout.LayoutParams HParams = new RelativeLayout.LayoutParams(
       LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     HParams.topMargin = 200 * displayHeight/480; 
     HsrollView.setLayoutParams(HParams); 

     for (int i = 0; i < 4; i++) { 
      ImageView btnTag = new ImageView(this); 
      btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
      btnTag.setImageResource(R.drawable.book); 
      btnTag.setTag(i); 
      btnTag.setId(i); 
      HsrollView.addView(btnTag); 
     } 

XMLファイル

<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:background="@drawable/directbg" 
    tools:context=".DirectorActivity" > 
    <HorizontalScrollView 
     android:id="@+id/Hscrollview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scrollbars="none"> 
     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 
     </LinearLayout> 
    </HorizontalScrollView> 
    </RelativeLayout> 

答えて

7

つまり、画像レイアウトを直線レイアウトに追加する必要があります。画像ビューを追加するときには、に追加します。これにはLinearLayoutがあり、実行できないHorizo​​ntalScrollViewに2つの子要素を追加します。

1

私を助けエラーがあなたが必要なすべてを伝えます。 ScrollViewには子が1つしかなく、レイアウトのxmlにはがあり、ScrollViewの代わりにLinearLayoutに画像を追加するだけです。

3

LinearLayoutにボタンを追加する必要があります。HorizontalScrollViewには直接送信しないでください。エラーが示すように、HorizontalScrollViewには子が1人しかいません。

LinearLayoutにはHorizontalScrollViewの代わりにLinearLayoutを参照するのが最善の方法です。

関連する問題