在Child Parent上调用删除视图 - Android

时间:2015-06-29 01:20:19

标签: java android list listview scrollview

我有一个带滚动视图,标签主机,相对布局和列表视图的布局。

看起来像这样

scrollView
    tabHost
        relative layout
        (the tabs are here for switching the list view)
        listview

因此,scrollview位于所有内容之上,然后是tabhost,然后是列表视图和相对布局。 (我知道有人可能会说它在滚动视图中有一个列表视图但是我找不到更好的方法去做我想要完成的事情。)

我试图让我的滚动视图滚动,直到相对布局和标签离开屏幕,然后让列表视图滚动接管。

因此,当我滚动时,滚动视图适用于第一位,直到它只是屏幕上的列表视图,然后滚动视图“消失”,列表视图滚动工作。

我已经查看了这个问题Call removeView() on the child's parent first,并尝试删除了scrollview,然后删除了列表视图,然后将其添加回来,但我无法让它工作。

任何帮助或其他方式都可以做到这一点。

如果需要,这是完整的布局,我以编程方式添加列表视图

<?xml version="1.0" encoding="utf-8"?>
<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/rl">
    <ScrollView android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/scrollView">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:id="@+id/linearLayout">

            <TabHost
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@+id/TabHost01">

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:orientation="vertical">

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:background="#ff00f1ff">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Sunday June 27, 2015"
                            android:id="@+id/currentDayTextview"
                            android:textSize="22sp"
                            android:textColor="#ffffff"
                            android:textStyle="bold"
                            android:layout_centerVertical="true"
                            android:layout_centerHorizontal="true" />

                        <ImageView
                            android:layout_width="60dp"
                            android:layout_height="60dp"
                            android:id="@+id/nextDayArrow"
                            android:background="@drawable/next_day_arrow"
                            android:layout_alignParentBottom="true"
                            android:layout_alignParentRight="true"
                            android:layout_alignParentEnd="true"
                            android:layout_alignParentTop="true"
                            android:layout_toEndOf="@+id/currentDayTextview"
                            android:layout_toRightOf="@+id/currentDayTextview"/>

                        <ImageView
                            android:layout_width="60dp"
                            android:layout_height="60dp"
                            android:id="@+id/previousDayArrow"
                            android:background="@drawable/previous_day_arrow"
                            android:layout_centerVertical="true"
                            android:layout_alignParentLeft="true"
                            android:layout_alignParentStart="true"
                            android:layout_toStartOf="@+id/currentDayTextview"
                            android:layout_toLeftOf="@+id/currentDayTextview"/>

                    </RelativeLayout>



                    <TabWidget
                        android:id="@android:id/tabs"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"/>

                    <FrameLayout
                        android:id="@android:id/tabcontent"
                        android:layout_width="match_parent"
                        android:layout_height="0dp"
                        android:layout_weight="1">

                    </FrameLayout>
                </LinearLayout>
            </TabHost>

        </LinearLayout>
    </ScrollView>


</RelativeLayout>

由于

1 个答案:

答案 0 :(得分:0)

您应该通过将其视为textview.getParent()。removeView(textview);来检查您已经拥有父项的视图。

然后将其添加为currentLayout.addview(textview)。

或者试试这个, LayoutInflater inflater =(LayoutInflater)getSystemService (Context.LAYOUT_INFLATER_SERVICE);

查看newView = inflater.inflate(R.layout.layout,null);

currentLayout.addView(newTagView);