2013-06-05 27 views
6

Tôi đã có bố cục tương đối và thêm tưởng tượng lập trình trong scrollview ngang được đặt trong xml.when tôi đã cố gắng thêm imageview của mình trong horizontalScrollView ..im nhận ngoại lệ thời gian chạy .HorizontalScrollView có thể lưu trữ chỉ một child.could đơn các bạn giúp tôi raHorizontalScrollView có thể lưu trữ chỉ một con trực tiếp

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); 
     } 

tập tin 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> 

Trả lời

7

Có nghĩa là, bạn phải thêm số lần xem hình ảnh vào linearlayout. khi bạn thêm chế độ xem hình ảnh, bạn sẽ thêm nó vào HorizontalScrollview cũng có LinearLayout trong đó bằng cách thêm 2 phần tử con vào HorizontalScrollView mà bạn không thể làm

1

Các lỗi cho bạn biết tất cả mọi thứ bạn cần. A ScrollView chỉ có thể có một con và trong bố cục xml bạn đã có LinearLayout bên trong ScrollView vì vậy bạn chỉ cần thêm hình ảnh của mình vào LinearLayout thay vì ScrollView.

3

Bạn nên thêm các nút của mình vào số LinearLayout, không trực tiếp vào số HorizontalScrollView. Khi lỗi cho biết, một số HorizontalScrollView chỉ có thể có một con.

Cách tốt nhất để làm điều này là cung cấp cho bạn LinearLayout ID và tham chiếu LinearLayout trong mã của bạn thay vì HorizontalScrollView.

Các vấn đề liên quan