2011-01-30 16 views
1

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

+1

あなたはソースを投稿していないので、私の推測では「あなたはAndroid Activityライフサイクルを理解してから、すぐにプロジェクトを修正することができます。 – fiction

+0

残念ながら、新しいユーザーとしてはスナップショットをアップロードできません。コードの掲載については、コードのどの部分がこの問題に関連しているのか分かりません。 私はビューの再利用について読んで、私はそれを認識していませんでした。それでも、私のアプリでどのようなビューが再利用されているのか分かりません。そのような方法で、私は壊れたビューを得ることになります。 – Ram

+0

@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) –

答えて

0

は、私もこの問題を持っていたし、あなたのポストは、特別にその透明の事私をたくさん助けました。私は色/透明なものを使用していませんでしたが、私はListViewに空のビューを使用していました。私の問題は、私が"@id/android:empty"を使用していたことですが、それは"@android:id/empty"でなければなりません。何度か働いていて、android:targetSdkVersion="18"を14から18に変更すると、Fragments内のListViewの画面が壊れました。

私たちがビューにIDを提供する方法で何かをしなければなりません。私はそれがこれに多くの時間を無駄にしている誰かを助けることを願っています。 :)

関連する問題