3つのタブからなるタブホストに基づいたUIを持つAndroidアプリケーションを作成しました。各タブはいくつかのUI要素、主にテキスト&イメージビューで構成されています。Androidアプリケーションの読み込み中に破損したUI
問題は次のとおりです。 初めてアプリケーションを実行するときに正常に動作します。 タブを切り替えていない場合は、「戻る」ボタンをクリックしてアプリケーションを閉じてから、もう一度実行すると正常に動作します。 別のタブ&に戻って最初のものに戻してから、「戻る」をクリックしてアプリケーションを閉じます。もう一度実行すると、最初のタブビューが壊れて表示されます。つまり、ビューの背景として使用している画像の1つが表示されず、その代わりに、全体のビューに沿って黒い背景のある数本の灰色の水平線が表示されます。他のすべてのタブのビュー(背景btwと同じ画像を使用する)はうまく表示されます。以降のアプリケーションの実行はすべて破損したままです。
これは矛盾した動作であり、私が使用している特定の背景イメージに関連していません(アプリケーションから完全に削除してもそれが起こります)。 もう1つは、最初の(問題のある)タブビューと2番目のタブビューを切り替えることです。私がそれをしたとき、問題は繰り返されませんでした。
R.javaファイルのコード生成に問題があるような気がしますが、何が間違っているのか分かりません。
誰に問題があるのか、それを解決する方法はありますか?
ありがとうございました。
<?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である
<?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>
EDIT:サイコー奇妙な!解決策は、破損したビューのXMLの2つの場所を削除して、「透明」が値「#00000000」の色リソースである「@色/透明」の背景を定義することでした。
私の質問は今 - なぜ???
これは適切な図である。 http://imgur.com/dEz1G.jpg
そして、これが破損しているものです: http://imgur.com/CF25i.jpg
あなたはソースを投稿していないので、私の推測では「あなたはAndroid Activityライフサイクルを理解してから、すぐにプロジェクトを修正することができます。 – fiction
残念ながら、新しいユーザーとしてはスナップショットをアップロードできません。コードの掲載については、コードのどの部分がこの問題に関連しているのか分かりません。 私はビューの再利用について読んで、私はそれを認識していませんでした。それでも、私のアプリでどのようなビューが再利用されているのか分かりません。そのような方法で、私は壊れたビューを得ることになります。 – Ram
@Ram:あなたの質問を編集してコードサンプルとスクリーンショットを追加することができるはずです(http://bit.ly/bjKGIJ](http://bit.ly/bjKGIJ)を参照)。タブビュー、レイアウトが "壊れている"レイアウト、および['setBackgroundDrawable']を使用してプログラムのバックグラウンドを設定するコードを含むレイアウトを投稿してみてください(http://developer.android.com/reference /android/view/View.html#setBackgroundDrawable%28android.graphics.drawable.Drawable%29)または['setBackgroundResource'](http://developer.android.com/reference/android/view/View.html#setBackgroundResource% 28int%29) –