기존 XML 레이아웃에 ScrollView 추가

마이클 야워 스키

나는 그것을 알아 냈지만 명확한 해결책을 얻지 못했기 때문에 내 질문에 대답하고 있습니다. 이것은 다른 사람을 도울 수 있습니다.

받은 예외가 일반적인 예외라는 것을 알고 있지만 다음 페이지에서 문제를 해결할 수 없습니다.

지정된 하위에 이미 상위가 있습니다. 자식의 부모 첫 번째
java.lang.IllegalStateException 에서 removeView ()를 호출해야합니다 . 지정된 자식은 이미
자식의 부모에서 부모 호출 removeView ()를 가지고 있습니다.
http://www.phonesdevelopers.com/1716777/

내가하고 싶은 것은에 많은 TextViews를 추가 한 ScrollView다음 ScrollView화면에 넣습니다 . 문제는이 ScrollView화면의 일부일 뿐이 setContentView(scrollView)므로 이미 가지고있는 버튼과 물건을 대체 할 있기 때문에 사용할 수 없다는 것입니다.

내 레이아웃에 대한 템플릿이 포함 된 XML 파일이 있는데을 ScrollView내 활동에서 생성 한 파일로 간단히 바꾸고 싶습니다 .

레이아웃은 다음과 같습니다.

<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:id="@+id/mostParent" >

    <RelativeLayout
        android:id="@+id/loadingPanel"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" >

        <ProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:indeterminate="true" />
    </RelativeLayout>

    <Button
        android:id="@+id/btnLogout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="@string/logout" />

    <ImageButton
        android:id="@+id/refresh"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/ic_action_refresh" />

    <ToggleButton
        android:id="@+id/lockToggle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text=""
        android:textOff="@string/toggle_off"
        android:textOn="@string/toggle_on" />

    <TextView
        android:id="@+id/loggedInAs"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/refresh"
        android:layout_centerHorizontal="true"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <ScrollView
        android:id="@+id/postsView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/btnLogout"
        android:layout_marginTop="30dp"
        android:scrollbarSize="3dip" />

</RelativeLayout>

ScrollView하단에 내가 추가 할 하나 TextView에들 그리고 ID를 가지고 postsView.

나는를 만들거야 그래서 LinearLayout, 추가 TextView그 레이아웃의를 한 다음에 그 레이아웃을 추가합니다 ScrollView. 이렇게 :

ScrollView postsView = (ScrollView)findViewById(R.id.postsView);

LinearLayout layout = new LinearLayout(MyActivity.this);
layout.setOrientation(LinearLayout.VERTICAL);

for (final TextView post : posts) {
    // add post to layout
    layout.addView(post);
}

postsView.addView(layout);

그러나 이것으로 LogCat을 얻습니다.

java.lang.IllegalStateException: ScrollView can host only one direct child

에서보기를 제거하려면 어떻게해야 ScrollView합니까?

마이클 야워 스키

당신이 사용할 수있는 removeAllViews()ScrollView. 이는 코드가 두 번 이상 실행될 때마다 둘 이상의 뷰가 ScrollView.

코드는 다음을 변경합니다.

postsView.addView(layout);

에:

postsView.removeAllViews()
postsView.addView(layout);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

XML 레이아웃 Android 2.2+에보기 추가

분류에서Dev

XML 레이아웃의 ScrollView?

분류에서Dev

LinearLayoutCompat 뷰를 기존 xml 레이아웃에 동적으로 추가하려면 어떻게해야합니까?

분류에서Dev

ScrollView에 LinearLayout xml 추가

분류에서Dev

XML 레이아웃에 위젯 추가

분류에서Dev

Android의 xml 레이아웃에서 노드 가져 오기

분류에서Dev

기존 xml 요소에 노드 추가

분류에서Dev

기존 XML에 새 요소 추가

분류에서Dev

C # XDocument-기존 XML에 값 추가

분류에서Dev

scrollview에 기존 뷰 컨트롤러 추가

분류에서Dev

XML 레이아웃 사이에 동적으로 레이아웃 추가

분류에서Dev

Android XML에서 레이아웃으로 데이터 가져 오기

분류에서Dev

기존에 추가 FXML 레이아웃을 설정하는 방법

분류에서Dev

버튼 클릭시 TableLayout에 TableRow xml 레이아웃 추가

분류에서Dev

기존 xml에 네임 스페이스 및 별칭 추가

분류에서Dev

scrollview 내에서 다른 xml 레이아웃을 팽창시키는 방법

분류에서Dev

내 현재 활동 레이아웃에 동적으로 XML 레이아웃 추가

분류에서Dev

동일한 XML 레이아웃의 ScrollView 및 ListView

분류에서Dev

ScrollView에 UITextField 추가

분류에서Dev

기존 xml 구조에 위젯 (EditText) 추가

분류에서Dev

기존 XML에 추가 할 때 XMLWriter 서식 지정

분류에서Dev

기존 xml에 중복 자식 태그 추가

분류에서Dev

xslt를 사용하여 기존 XML에 노드 추가

분류에서Dev

두 레이아웃에 자식보기 추가 (여러 부모)

분류에서Dev

보기에서 레이아웃의 요소 수정 / 추가

분류에서Dev

Qt 3-이미 존재하는 위젯과 레이아웃에 위젯 추가하기

분류에서Dev

Eclipse에서 XML 레이아웃과 Java 클래스 사이를 전환하는 바로 가기 키 (Android)

분류에서Dev

Eclipse에서 XML 레이아웃과 Java 클래스 사이를 전환하는 바로 가기 키 (Android)

분류에서Dev

자동 레이아웃을 사용하여 scrollview 가로 스크롤에 따라보기의 높이 및 너비 변경

Related 관련 기사

  1. 1

    XML 레이아웃 Android 2.2+에보기 추가

  2. 2

    XML 레이아웃의 ScrollView?

  3. 3

    LinearLayoutCompat 뷰를 기존 xml 레이아웃에 동적으로 추가하려면 어떻게해야합니까?

  4. 4

    ScrollView에 LinearLayout xml 추가

  5. 5

    XML 레이아웃에 위젯 추가

  6. 6

    Android의 xml 레이아웃에서 노드 가져 오기

  7. 7

    기존 xml 요소에 노드 추가

  8. 8

    기존 XML에 새 요소 추가

  9. 9

    C # XDocument-기존 XML에 값 추가

  10. 10

    scrollview에 기존 뷰 컨트롤러 추가

  11. 11

    XML 레이아웃 사이에 동적으로 레이아웃 추가

  12. 12

    Android XML에서 레이아웃으로 데이터 가져 오기

  13. 13

    기존에 추가 FXML 레이아웃을 설정하는 방법

  14. 14

    버튼 클릭시 TableLayout에 TableRow xml 레이아웃 추가

  15. 15

    기존 xml에 네임 스페이스 및 별칭 추가

  16. 16

    scrollview 내에서 다른 xml 레이아웃을 팽창시키는 방법

  17. 17

    내 현재 활동 레이아웃에 동적으로 XML 레이아웃 추가

  18. 18

    동일한 XML 레이아웃의 ScrollView 및 ListView

  19. 19

    ScrollView에 UITextField 추가

  20. 20

    기존 xml 구조에 위젯 (EditText) 추가

  21. 21

    기존 XML에 추가 할 때 XMLWriter 서식 지정

  22. 22

    기존 xml에 중복 자식 태그 추가

  23. 23

    xslt를 사용하여 기존 XML에 노드 추가

  24. 24

    두 레이아웃에 자식보기 추가 (여러 부모)

  25. 25

    보기에서 레이아웃의 요소 수정 / 추가

  26. 26

    Qt 3-이미 존재하는 위젯과 레이아웃에 위젯 추가하기

  27. 27

    Eclipse에서 XML 레이아웃과 Java 클래스 사이를 전환하는 바로 가기 키 (Android)

  28. 28

    Eclipse에서 XML 레이아웃과 Java 클래스 사이를 전환하는 바로 가기 키 (Android)

  29. 29

    자동 레이아웃을 사용하여 scrollview 가로 스크롤에 따라보기의 높이 및 너비 변경

뜨겁다태그

보관