Android应用程序重新加载时UI已损坏
我编写了一个Android应用程序,它的UI基于tab主机,由3个选项卡组成。每个选项卡都包含一些UI元素,主要是文本和图像视图 我遇到的问题如下: 第一次运行应用程序时,它工作正常。 如果我不切换选项卡,只需单击“上一步”按钮关闭应用程序,然后再次运行它即可。 如果我切换到另一个选项卡&返回到第一个选项卡,然后单击“返回”关闭应用程序-当我再次运行它时,第一个选项卡视图似乎已损坏。这意味着,我使用的一个图像作为视图的背景并没有出现,相反,我在整个视图中得到了一些带有黑色背景的灰色水平线。所有其他选项卡的视图(使用与背景相同的图像)都显示良好。应用程序的所有后续执行仍然损坏 这也是一种不一致的行为,与我正在使用的特定背景图像无关(即使我将其完全从应用程序中删除,它仍然会发生)。 我尝试过的另一件事是在第一个(有问题的)选项卡视图和第二个选项卡视图之间切换。当我这样做的时候,问题并没有重演 在我看来,这似乎是R.java文件的代码生成中的一个问题,但我不知道出了什么问题 有人知道问题是什么以及如何解决吗 谢谢 这是主选项卡活动的XML:Android应用程序重新加载时UI已损坏,android,user-interface,android-tabhost,corruption,Android,User Interface,Android Tabhost,Corruption,我编写了一个Android应用程序,它的UI基于tab主机,由3个选项卡组成。每个选项卡都包含一些UI元素,主要是文本和图像视图 我遇到的问题如下: 第一次运行应用程序时,它工作正常。 如果我不切换选项卡,只需单击“上一步”按钮关闭应用程序,然后再次运行它即可。 如果我切换到另一个选项卡&返回到第一个选项卡,然后单击“返回”关闭应用程序-当我再次运行它时,第一个选项卡视图似乎已损坏。这意味着,我使用的一个图像作为视图的背景并没有出现,相反,我在整个视图中得到了一些带有黑色背景的灰色水平线。所有其
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/com.mycompany.myapp"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:background="@drawable/main_bg">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>
</LinearLayout>
这是损坏视图的XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal">
<TextView
android:id="@+id/TextTitle"
android:text="@string/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingTop="5sp"
android:paddingBottom="5sp"
android:textColor="@color/pink"
android:textStyle="bold"
android:textSize="18sp"
/>
<ImageView
android:src="@drawable/silver_line"
android:scaleType="fitXY"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/star_bg"
android:scaleType="fitCenter"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
/>
<ImageView
android:src="@drawable/pink_lights"
android:scaleType="fitXY"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:background="@color/transparent">
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/LayoutSelectImage"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<TextView
android:text="@string/select_image"
android:id="@+id/TextSelectImage"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:minHeight="28sp"
android:textColor="@color/white"
android:textSize="19sp"
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginTop="10sp"
android:gravity="center_vertical">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20sp"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/ImageCamera"
android:src="@drawable/icon_camera_reg"
android:scaleType="centerInside"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
/>
<TextView
android:text="@string/camera"
android:id="@+id/TextCamera"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/gray"
android:textStyle="bold"
android:textSize="13sp"
/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20sp"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/ImageGallery"
android:src="@drawable/icon_gallery_reg"
android:scaleType="centerInside"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
/>
<TextView
android:text="@string/gallery"
android:id="@+id/TextGallery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/gray"
android:textStyle="bold"
android:textSize="13sp"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/LayoutSelectGender"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:visibility="gone">
<TextView
android:text="@string/select_gender"
android:id="@+id/TextSelectGender"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="28sp"
android:textColor="@color/white"
android:textSize="19sp"
/>
<!--android:layout_weight="10"-->
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10sp"
android:gravity="center_vertical">
<!--android:layout_weight="60"-->
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20sp"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/ImageFemale"
android:src="@drawable/icon_female_reg"
android:scaleType="centerInside"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
/>
<TextView
android:text="@string/female"
android:id="@+id/TextFemale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/gray"
android:textStyle="bold"
android:textSize="13sp"
/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20sp"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/ImageMale"
android:src="@drawable/icon_male_reg"
android:scaleType="centerInside"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
/>
<TextView
android:text="@string/male"
android:id="@+id/TextMale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/gray"
android:textStyle="bold"
android:textSize="13sp"
/>
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/ImageSelected"
android:background="@drawable/frame_pink_large"
android:scaleType="centerCrop"
android:layout_width="wrap_content"
android:layout_height="0px"
android:layout_weight="1"
android:layout_margin="7sp"
android:padding="6px"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/LayoutLoading"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:visibility="gone">
<TextView
android:text="@string/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="28sp"
android:textColor="@color/white"
android:textSize="19sp"
/>
<ImageView
android:id="@+id/ImageLoading"
android:scaleType="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15sp"
android:layout_marginBottom="25sp"
/>
<ImageView
android:id="@+id/ImageSelected2"
android:background="@drawable/frame_pink_large"
android:scaleType="centerCrop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="7sp"
android:padding="6px"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/LayoutShow"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:visibility="gone">
<AbsoluteLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="3sp">
<ImageView
android:id="@+id/ImageStripLeft"
android:src="@drawable/strip_left"
android:scaleType="fitCenter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<LinearLayout
android:id="@+id/LayoutOriginal"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<TextView
android:text="@string/original"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6sp"
android:layout_marginBottom="3sp"
android:gravity="center"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="14sp"
android:shadowColor="@color/black"
android:shadowDy="1.2"
android:shadowRadius="1"
/>
<ImageView
android:id="@+id/ImageOriginal"
android:background="@drawable/frame_gray_large"
android:scaleType="fitXY"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:padding="6px"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/LayoutOther"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<TextView
android:text="@string/other"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6sp"
android:layout_marginBottom="3sp"
android:gravity="center"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="14sp"
android:shadowColor="@color/black"
android:shadowDy="1.2"
android:shadowRadius="1"
/>
<ImageView
android:id="@+id/ImageOther"
android:background="@drawable/frame_pink_large"
android:scaleType="fitCenter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:padding="6px"
/>
</LinearLayout>
<ImageView
android:id="@+id/ImageStripRight"
android:src="@drawable/strip_right"
android:scaleType="fitCenter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/TextPercentage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal|top"
android:background="@drawable/strip_center"
android:paddingTop="2sp"
android:textColor="@color/pink"
android:textStyle="bold"
android:textSize="26sp"
android:shadowColor="@color/white"
android:shadowDy="1.2"
android:shadowRadius="1"
/>
</AbsoluteLayout>
<TextView
android:id="@+id/TextOther"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@color/pink"
android:textStyle="bold"
android:textSize="16sp"
/>
<ImageView
android:id="@+id/ImageShare"
android:src="@drawable/icon_share_reg"
android:scaleType="centerInside"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="10sp"
/>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/ImageResultsBackground"
android:src="@drawable/results_bg"
android:scaleType="fitXY"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:text="@string/more_results"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15sp"
android:gravity="center"
android:textColor="@color/white"
android:textSize="16sp"
android:visibility="gone"
/>
<com.mycompany.myapp.Results.ResultsGallery
android:id="@+id/Gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:spacing="20sp"
/>
</FrameLayout>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</FrameLayout>
</LinearLayout>
这就是被破坏的一个:
我也有这个问题,你的帖子对我有很大帮助,特别是在透明方面。我没有使用任何颜色/透明的东西,但我在列表视图中使用空视图。我的问题是,我使用的是“@id/android:empty”
,但它应该是“@android:id/empty”
,奇怪的是,它工作了几个月,当我将android:targetSdkVersion=“18”
从14改为18时,内部带有ListView片段的屏幕就损坏了
因此,它与我们如何为视图提供id有关。我希望它能帮助那些在这方面浪费了很多时间的人。:) 由于您没有发布任何源代码,我的猜测是:“您必须了解Android活动生命周期,然后您将能够立即修复您的项目”。不幸的是,作为新用户,我无法上传快照。关于发布代码,我甚至不知道代码的哪一部分与此问题相关。我读到有关视图重用的信息,但我没有意识到这一点。不过,我不知道我的应用程序中的哪些视图可能会被重复使用,从而导致我得到的视图损坏。@Ram:您应该能够编辑您的问题以添加代码示例和屏幕截图(请参阅)。尝试发布包含选项卡视图的布局、正在“损坏”的视图布局,以及使用或我已添加相关XML以编程方式设置视图背景的任何代码。我无法添加快照,因为我是一个新用户(我完全按照你写的那样尝试了,但收到一条消息告诉我我不能添加快照)。我没有利用任何挫折。。。在损坏视图的“活动”中,仅在“主选项卡”活动中,并且仅用于设置选项卡标题图像。@Ram:请手动将屏幕截图上载到?我可以编辑您的问题以添加它们。