2012-02-11 12 views
1

私はAndroidアプリでGridViewを使用しています。すべては私の携帯電話では完全に機能しますが、タブレットエミュレータでアプリを実行しようとすると、起動時にクラッシュしました。タブレットでGridViewを膨張させるエラー

エラーはE/AndroidRuntime(466): java.lang.RuntimeException: Unable to start activity ComponentInfo{****/***.Main}: java.lang.RuntimeException: Unable to start activity ComponentInfo{***/***.views.calendar.CalendarView}: android.view.InflateException: Binary XML file line #42: Error inflating class android.widget.GridView です。行番号42には、単に<GridView>タグが含まれています。スタックトレースがでCaused by: android.view.InflateException: Binary XML file line #42: Error inflating class android.widget.GridViewCaused by: java.lang.reflect.InvocationTargetExceptionと仕上げを言う

はその後:私はどんなLayoutParamsを使用していない

02-11 23:57:17.079: E/AndroidRuntime(466): Caused by: android.content.res.Resources$NotFoundException: File from drawable resource ID #0x1020004 
02-11 23:57:17.079: E/AndroidRuntime(466): at android.content.res.Resources.loadDrawable(Resources.java:1874) 
02-11 23:57:17.079: E/AndroidRuntime(466): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
02-11 23:57:17.079: E/AndroidRuntime(466): at android.widget.AbsListView.<init>(AbsListView.java:711) 
02-11 23:57:17.079: E/AndroidRuntime(466): at android.widget.GridView.<init>(GridView.java:76) 
02-11 23:57:17.079: E/AndroidRuntime(466): at android.widget.GridView.<init>(GridView.java:72) 

、私のxmlレイアウトは次のようになります。

<?xml version="1.0" encoding="UTF-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/calendar_relativeLayout_main" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <RelativeLayout 
     android:id="@+id/calendar_relativeLayout_infoBar" 
     android:layout_width="fill_parent" 
     android:layout_height="40dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:background="@color/calendar_infoBar_background" > 

     <ImageButton 
      android:id="@+id/calendar_imageButton_previousMonth" 
      android:layout_width="40dp" 
      android:layout_height="40dp" 
      android:layout_alignParentLeft="true" 
      android:background="@null" 
      android:src="@drawable/ic_calendar_prev" /> 

     <ImageButton 
      android:id="@+id/calendar_imageButton_nextMonth" 
      android:layout_width="40dp" 
      android:layout_height="40dp" 
      android:layout_alignParentRight="true" 
      android:background="@null" 
      android:src="@drawable/ic_calendar_next" /> 

     <TextView 
      android:id="@+id/calendar_textView_currentMonth" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_centerVertical="true" 
      android:text="February 2012" 
      android:textSize="17dp" /> 

    </RelativeLayout> 

    <GridView 
     android:id="@+id/calendar_gridView_currentCalendar" 
     android:layout_width="fill_parent" 
     android:layout_height="240dp" 
     android:layout_below="@+id/calendar_relativeLayout_infoBar" 
     android:numColumns="7" 
     android:isScrollContainer="false" 
     android:listSelector="@android:id/empty"> 
    </GridView> 

</RelativeLayout> 

私は理解していない何それはどうしてGridViewが電話で実行可能で、タブレットでは機能しないのでしょうか?

事前に感謝します...

答えて

3
android:listSelector="@android:id/empty" 

私が知る限り、listSelector attributeは、IDではなく、ドロウアブルへの参照を想定しています。 @android:id/emptyは、ListViewとGridViewのためのオプションの '空の'ビューを宣言するために使用でき、私はそれが上記のように使われることはないと確信しています。詳細はListActivityを参照してください。実際の描画可能なもの(または色)を参照してみてください。 @nullまたは@android:color/transparentを使用して、セレクタを非表示にするか、高さを '0'に設定します。

また、タブレットが適切なリソースを見つけられないようなリソース修飾子を使用している可能性があります。詳細については、'How Android Finds the Best-matching Resource'の説明をお読みください。しかし、GridView宣言で直接描画可能なリソースを参照しているわけではないので、これは問題ではないでしょうか。

+0

それは働いた!私は色に変更し、それは働いた!どうもありがとうございます!!!私は今、とても幸せです。 – lomza

関連する問題