2011-01-30 2 views
1

3 개의 탭으로 구성된 탭 호스트를 기반으로 UI를 사용하여 Android 애플리케이션을 작성했습니다. 각 탭은 일부 UI 요소 (주로 텍스트 & 이미지보기로 구성됩니다.손상된 UI로 Android 애플리케이션을 새로 고침

내가 겪고있는 문제는 다음과 같습니다. 처음 응용 프로그램을 실행할 때 정상적으로 작동합니다. 탭을 전환하지 않은 경우 "뒤로"버튼을 클릭하여 응용 프로그램을 닫은 다음 다시 실행하면 정상적으로 작동합니다. 다른 탭으로 다시 전환하면 & 첫 번째 탭으로 돌아간 다음 "뒤로"를 클릭하여 응용 프로그램을 닫습니다. 다시 실행하면 첫 번째 탭보기가 손상된 것처럼 보입니다. 의미,보기의 배경으로 사용하고있는 이미지 중 하나가 나타나지 않고 대신 전체보기에 검은 배경이있는 회색의 수평선이 표시됩니다. 다른 모든 탭의보기 (배경 이미지와 동일한 이미지를 사용하는)는 잘 보입니다. 이후의 모든 응용 프로그램 실행이 손상된 상태로 유지됩니다.

이것은 일관된 동작이 아니며 사용중인 특정 배경 이미지와 관련이 없습니다 (응용 프로그램에서 완전히 제거하더라도 문제가 계속 발생 함). 내가 시도한 또 다른 것은 첫 번째 (문제가있는) 탭보기와 두 번째 탭보기 사이를 전환하는 것입니다. 내가 그랬을 때 그 문제는 반복되지 않았다.

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> 

편집 : soooo는 이상한! 해결 방법은 "@ 색상/투명"배경을 정의한 손상된보기 XML에서 두 곳을 제거하는 것이 었습니다. "투명"은 값 "# 00000000"의 색상 자원입니다.

내 질문은 지금 - 왜 ???

이 적절한이다 : http://imgur.com/dEz1G.jpg

그리고 이것은 손상된 하나입니다 http://imgur.com/CF25i.jpg

+1

소스를 게시하지 않았으므로 Android 활동 라이프 사이클을 이해해야하며 곧 프로젝트를 수정할 수 있습니다. – 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"이 이상하게도 12 월 12 월에 android:targetSdkVersion="18"을 14에서 18으로 변경하자마자 Fragments 내의 ListView가 손상되었습니다.

그래서 우리가보기에 ID를 제공하는 방법으로 뭔가를해야합니다. 이것으로 많은 시간을 낭비하는 누군가를 도울 수 있기를 바랍니다. :)

관련 문제