渲染期间引发异常:java.lang.System.arraycopy


71

我对新的ADT版本有奇怪的问题。我已经从eclipse.org下载了新的Eclipse,然后在其上安装了ADT。一切正常。我可以为android创建一个项目,并且一切正常,除了:

尝试创建一个xml布局时,出现以下错误:

Exception raised during rendering: java.lang.System.arraycopy

在错误日志中,我看到:

Failed to render set of icons for AnalogClock, AutonCompleteTextView, button, SmallButton , ....

如果更改EditTextTextView,错误消失。即使出现此警告,我也可以运行我的程序,但是我想在图形部分中查看我的布局。

我的布局是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/settingback"
    android:orientation="vertical"
    android:weightSum="480" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="50"
        android:gravity="right"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/close"
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:background="#00000000" />
    </LinearLayout>

    <View
        android:id="@+id/view1"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="20" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="40"
        android:orientation="horizontal"
        android:weightSum="320" >

        <View
            android:id="@+id/view8"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40" />

        <EditText
            android:id="@+id/textView1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="240"
            android:gravity="center|right"
            android:background="#00000000"/>

        <View
            android:id="@+id/view9"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40" />
    </LinearLayout>

    <View
        android:id="@+id/view2"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="20" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="35"
        android:orientation="horizontal" >

        <View
            android:id="@+id/view10"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40" />

        <EditText
            android:id="@+id/textView2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="240"
            android:gravity="center|right"
            android:background="#00000000" />

        <View
            android:id="@+id/view11"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40" />
    </LinearLayout>

    <View
        android:id="@+id/view3"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="10" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="35"
        android:orientation="horizontal" >

        <View
            android:id="@+id/view12"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40" />

        <EditText
            android:id="@+id/textView3"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="240"
            android:gravity="center|right"
            android:background="#00000000"/>

        <View
            android:id="@+id/view13"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40" />
    </LinearLayout>

    <View
        android:id="@+id/view4"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="105" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="40"
        android:orientation="horizontal" >

        <View
            android:id="@+id/view14"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40" />

        <EditText
            android:id="@+id/textView4"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="240"
            android:gravity="center|right"
            android:background="#00000000" />

        <View
            android:id="@+id/view15"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40" />
    </LinearLayout>

    <View
        android:id="@+id/view5"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="5" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="40" >

        <View
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40"
             />

        <EditText
            android:id="@+id/textView6"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="240"
            android:gravity="center|right"
            android:background="#00000000" />

        <View
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40" />
    </LinearLayout>

    <View
        android:id="@+id/view6"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="20" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="30"
        android:orientation="horizontal"
        android:weightSum="320" >

        <View
            android:id="@+id/view16"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="90" />

        <CheckBox
            android:id="@+id/shake"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="70"
            android:gravity="center" />

        <View
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="10" />

        <CheckBox
            android:id="@+id/ring"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="70"
            android:gravity="center" />

        <View
            android:id="@+id/view17"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="80" />
    </LinearLayout>

    <View
        android:id="@+id/view7"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="30" />

</LinearLayout>

我在这里搜索了答案,但没有找到答案。我怎样才能解决这个问题?

PS:此问题发生在ADT 23上-我在ADT 22.6上进行了尝试,并且效果很好。


您正在使用高级别的嵌套权重。嵌套权重不利于性能。这可能是原因
非法论点

我不这么认为@IllegalArgument,因为正如我所说,如果我使用TextView,问题已经消失了。无论如何,如何在不使用高级别嵌套权重的情况下创建此布局?

您是否尝试清理项目?也许R.文件已损坏?
erik

是的@erik我尝试清洁和其他所有东西,

也许是因为您的weightSum是错误的(我从未使用过weightSum ...)
Graeme

Answers:


223

这个问题发生在API 20(Android 4.4 W)上,我最近遇到了一个问题,但是问题将通过将用于渲染级别表单API 20(Android 4.4 W)的Android版本更改为API 19(Android 4.4.2)来解决(图形布局右上角的android图标)或将您的SDK更新为Android L(API 20 L预览)

屏幕截图:

在此处输入图片说明


在我的机器上,重新启动了android studio,然后显示了API 20 Android L的选项(并且可以添加文本字段而没有错误)
tmr 2014年

2016年更新:这完全为我解决了问题。Android N(预览版)是新安装的Android Studio的默认设置。更改为API 23可使屏幕正常显示。
RobertB

21

Android Wear是一款手表,您无法在其中输入任何内容,因此无法在4.4W上使用EditText。将API更改为19或以下,或将其更改为4.4L,可以从SDK Manager下载。这不是错误。


6

我在使用20(4.4W)时遇到同样的问题,但是当我安装并选择20(4.4 L(预览))时,该问题消失了。这可能是因为4.4W是Android Wear SDK,因此可能不支持标准手机/平板电脑Android的所有功能


5

@shayan pourvatan已经为我正确回答了这个问题,我只是添加了两个图像,描述了如何安装API 20 L版本以用作预览渲染器。

在此处输入图片说明

在此处输入图片说明


2

您可以将4.4W SDK更新为4.4W2 SDK。那固定的地雷。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.