我收到一个 ArrayIndexOutOfBoundsException
错误,仅在 Sony 设备上报告,例如-(D6603,SGP521)与 Android 5.1.1。
堆栈跟踪中我的代码行是对 Activity.setContentView() 的调用。谢谢。
堆栈跟踪:-
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.blacklight.klondike.patience.solitaire/com.blacklight.klondike.patience.solitaire.MainActivity}: java.lang.ArrayIndexOutOfBoundsException: length=6; index=6
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)
at android.app.ActivityThread.access$800(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:5373)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
Caused by java.lang.ArrayIndexOutOfBoundsException: length=6; index=6
at android.content.res.Resources.toPreloadCookie(Resources.java:2491)
at android.content.res.Resources.loadDrawable(Resources.java:2519)
at android.content.res.Resources.getDrawable(Resources.java:828)
at android.content.Context.getDrawable(Context.java:403)
at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:3640)
at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3687)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:372)
at android.app.Activity.setContentView(Activity.java:2145)
at com.blacklight.klondike.patience.ParentActivity.onCreate(ParentActivity.java:430)
at com.blacklight.klondike.patience.solitaire.MainActivity.onCreate(MainActivity.java:80)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)
at android.app.ActivityThread.access$800(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:5373)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
父级 Activity -
public class ParentActivity extends FragmentActivity implements OnClickListener/*,ButtonNeedsUpdateDelegate*/ {
@Override
protected void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.full_game_layout);
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
initFacebook(savedInstanceState);
}
}
R.layout.full_game_layout -
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/home_screen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/ads_size"
android:visibility="invisible" >
<LinearLayout
android:id="@+id/daily_topbar"
android:layout_width="match_parent"
android:layout_height="@dimen/Daily_top_bar_h"
android:layout_alignParentTop="true"
android:background="@drawable/daily_shape"
android:orientation="horizontal"
android:weightSum="1">
<LinearLayout
android:id="@+id/daily_home_caller"
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight=".20"
android:gravity="center"
android:layout_height="match_parent"
>
<com.blacklight.klondike.patience.customviews.RobotoMTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="02"
android:textColor="@color/dark_grey"
android:id="@+id/daily_home_date"
android:textSize="@dimen/xlarge_text"
android:gravity="center|bottom"
android:layout_gravity="bottom"
/>
<com.blacklight.klondike.patience.customviews.RobotoMTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Feb"
android:id="@+id/daily_home_month"
android:gravity="center|top"
android:layout_gravity="top"
android:textColor="@color/grey_color"
android:textSize="@dimen/small_text"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="@dimen/home_divider_h"
android:layout_height="match_parent"
android:background="@color/black_transparent_1"></LinearLayout>
<LinearLayout
android:id="@+id/daily_home_caller1"
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight=".60"
android:gravity="center"
android:layout_height="match_parent"
>
<com.blacklight.klondike.patience.customviews.RobotoMTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/popup_title_color"
android:text="@string/daily_clng"
android:textSize="@dimen/small_med_text"
android:gravity="center|bottom"
android:layout_gravity="bottom"
/>
<LinearLayout
android:baselineAligned="false"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<com.blacklight.klondike.patience.customviews.RobotoMTextView
android:id="@+id/daily_home_timer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/large_text"
android:textColor="@color/grey_color"
/>
<com.blacklight.klondike.patience.customviews.RobotoMTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/time_left"
android:layout_marginLeft="@dimen/margin_5"
android:layout_marginStart="@dimen/margin_5"
android:textSize="@dimen/small_med_text"
android:textColor="@color/grey_color"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/yesterday_leaderboard"
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight=".20"
android:gravity="center"
android:background="@drawable/ldb_right_round_corner"
android:layout_height="match_parent"
android:layout_marginBottom="1dp">
<ImageView
android:layout_width="@dimen/radio_size"
android:layout_height="@dimen/radio_size"
android:src="@drawable/daily_leaderboard"
/>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/Daily_top_bar_h"
android:layout_alignParentTop="true"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="@dimen/radio_size"
android:id="@+id/right_tick"
android:src="@drawable/right_tick"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="@dimen/home_screen_padding"
android:layout_marginStart="@dimen/home_screen_padding"
android:visibility="invisible"/>
</RelativeLayout>
<LinearLayout
android:id="@+id/play_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/daily_topbar"
android:layout_above="@+id/pager_include"
android:gravity="center"
android:orientation="vertical"
android:layout_toRightOf="@+id/home_setting"
android:layout_toEndOf="@+id/home_setting"
android:layout_toLeftOf="@+id/home_achivements"
android:layout_toStartOf="@+id/home_achivements"
android:layout_marginRight="@dimen/home_screen_padding"
android:layout_marginEnd="@dimen/home_screen_padding"
android:layout_marginStart="@dimen/home_screen_padding"
android:layout_marginLeft="@dimen/home_screen_padding">
<ImageView
android:id="@+id/symbol_img"
android:layout_width="@dimen/logo_dimen"
android:layout_height="@dimen/logo_dimen"
android:src="@drawable/taptoplay_1"
tools:ignore="ContentDescription" />
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/home_screen_padding"
android:gravity="center"
android:orientation="vertical" >
<com.blacklight.klondike.patience.customviews.RobotoLTextView
android:id="@+id/home_play"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/tap_to_play"
android:textColor="@color/dark_grey"
android:textSize="@dimen/med_large_text" />
</LinearLayout>
<com.blacklight.klondike.patience.customviews.RobotoLTextView
android:id="@+id/game_details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_5"
android:gravity="center"
android:text=""
android:textColor="@color/dark_grey"
android:textSize="@dimen/small_text" />
</LinearLayout>
<LinearLayout
android:id="@+id/plus_view"
android:layout_width="@dimen/theme_icn_w"
android:layout_height="wrap_content"
android:layout_above="@+id/pager_include"
android:layout_centerHorizontal="true"
android:layout_marginBottom="@dimen/home_screen_padding"
android:orientation="vertical" >
</LinearLayout>
<include
android:id="@+id/pager_include"
android:layout_width="wrap_content"
android:layout_height="@dimen/home_pager_h"
android:layout_above="@+id/dot_view"
android:layout_centerHorizontal="true"
layout="@layout/home_stats_view"/>
<!--layout="@layout/home_stats_view"-->
<LinearLayout
android:id="@+id/dot_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:orientation="horizontal"
android:paddingBottom="@dimen/margin_5"
android:paddingTop="@dimen/margin_5" >
<ImageView
android:id="@+id/page_indicator1"
android:layout_width="@dimen/dot_size"
android:layout_height="@dimen/dot_size" />
<ImageView
android:id="@+id/page_indicator2"
android:layout_width="@dimen/dot_size"
android:layout_height="@dimen/dot_size"
android:layout_marginLeft="@dimen/dot_size"
android:layout_marginRight="@dimen/dot_size" />
<ImageView
android:id="@+id/page_indicator3"
android:layout_width="@dimen/dot_size"
android:layout_height="@dimen/dot_size" />
</LinearLayout>
<ImageView
android:id="@+id/home_setting"
android:layout_width="@dimen/home_screen_icn_dimen"
android:layout_height="@dimen/home_screen_icn_dimen"
android:layout_above="@+id/pager_include"
android:layout_alignParentLeft="true"
android:layout_marginBottom="@dimen/home_screen_padding"
android:layout_marginLeft="@dimen/home_screen_padding"
android:src="@drawable/settings_1"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/self_managed_button"
android:layout_width="@dimen/home_screen_icn_dimen"
android:layout_height="@dimen/home_screen_icn_dimen"
android:layout_alignParentRight="true"
android:layout_above="@+id/more_games"
android:layout_marginBottom="@dimen/home_screen_padding"
android:layout_marginRight="@dimen/home_screen_padding"
android:visibility="invisible" />
<ImageView
android:id="@+id/more_games"
android:layout_width="@dimen/home_screen_icn_dimen"
android:layout_height="@dimen/home_screen_icn_dimen"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/home_setting"
android:layout_marginRight="@dimen/home_screen_padding"
android:background="@drawable/moregames_selector" />
<LinearLayout
android:layout_width="@dimen/home_screen_icn_dimen"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/daily_topbar"
android:layout_marginLeft="@dimen/home_screen_padding"
android:layout_marginTop="@dimen/home_screen_padding"
android:orientation="vertical" >
<com.sessionm.api.PortalButton
android:id="@+id/portalButton"
android:layout_width="@dimen/home_screen_icn_dimen"
android:layout_height="@dimen/home_screen_icn_dimen"
android:layout_marginBottom="@dimen/home_screen_padding"
android:background="@drawable/sessionm"
android:scaleType="fitStart" >
</com.sessionm.api.PortalButton>
<ImageView
android:id="@+id/fb_invite_home"
android:layout_width="@dimen/home_screen_icn_dimen"
android:layout_height="@dimen/home_screen_icn_dimen"
android:src="@drawable/fb_invite_selector_1"
android:visibility="visible" />
</LinearLayout>
<ImageView
android:id="@+id/removeads_icon_fulllayout"
android:layout_width="@dimen/home_screen_icn_dimen"
android:layout_height="@dimen/home_screen_icn_dimen"
android:layout_above="@+id/home_setting"
android:layout_alignLeft="@+id/home_setting"
android:layout_marginBottom="@dimen/home_screen_padding"
android:src="@drawable/noadd"
android:visibility="gone" />
<Button
android:id="@+id/inviteFriends"
android:layout_width="wrap_content"
android:layout_height="@dimen/home_screen_icn_dimen"
android:layout_below="@+id/daily_topbar"
android:layout_centerHorizontal="true"
android:background="@drawable/fb_share_img"
android:gravity="center"
android:paddingLeft="@dimen/home_screen_padding"
android:paddingRight="@dimen/home_screen_padding"
android:text="SHARE To Unlock"
android:textColor="@color/white"
android:textSize="@dimen/med_large_text"
android:visibility="visible" />
</RelativeLayout>
最佳答案
因为你没有发布代码
检查这个:
错误是
java.lang.ArrayIndexOutOfBoundsException: length=6; index=6
解释:
Java arrays start at 0, not 1. That means the first element of an array is accessed using
array[0]
, the second witharray[1]
, etc. As such, to access the last element of an array, usearray[array.length - 1]
. Usingarray[array.length]
is one index out of bounds, hence the exception.
关于android - 在 setContentView() 中索尼设备上报告 ArrayIndexOutOfBoundsException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36762423/