Приложение для Android в Eclipse: редактирование текста, не отображаемого на графическом макете

Я пытаюсь добавить текстовое поле в свое приложение для Android в Eclipse, но затем я перетаскиваю параметр Plain text на графический макет, появляется сообщение внизу. Он читает Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V Exception details are logged in Window > Show View > Error Log Даже когда я перехожу к Window > Show View, нет опции журнала ошибок. Теперь весь конструктор бесполезен, потому что я больше не могу его использовать, пока я не удалю EditText непосредственно из xml. Что вызывает эту ошибку и как ее исправить? Я использую последнюю версию (с сегодняшнего дня, 6-30-14) и Windows 8 Pro x64.

Вот мой полный код макета:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="18dp"
    android:text="@string/welcome_text" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:ems="10"
    android:inputType="text">

    <requestFocus />
</EditText>

</RelativeLayout>

Ответ 1

Проверьте версию Android для рендеринга макетов и убедитесь, что вы не используете версию, которая заканчивается на "W" для Android Wear (например, API 20: Android 4.4W). Я не верю, что Wear поддерживает EditText.

В Android Studio и Eclipse это раскрывающийся список с зеленым андроидом в панели предварительного просмотра макета. Возможно, вы захотите установить его явно и не разрешить IDE автоматически выбирать версию Android.

Ответ 2

Из Eclipse IDE просто измените версию API, которая будет использоваться для предварительного просмотра, как показано ниже в скриншоте. Вместо "Automatically Pick Best" вручную выберите ту, которая работает для вас (API 17 работал у меня).

enter image description here

Ответ 3

Я изменил свою версию Android для Android 4.2, но она по-прежнему не работает для меня. Я попробовал найти различные решения, которые работают только при удалении пакета Android 4.4W.

Окно > Android SDK Manager > проверьте Android 4.4W (API 20), если он был установлен > Удалить пакет

Ответ 4

Если вы столкнулись с этим в Android Studio, выполните

1) Удалите Android 4.4W (API 20) из диспетчера SDK

2) Убедитесь, что вы установили Android SDK Build Tools 19.1 из диспетчера SDK.

3) Измените build.gradle в папке вашего приложения. Задайте следующие два значения ниже

compileSdkVersion 19
buildToolsVersion "19.1"

4) IDE предложит вам синхронизировать файл Gradle с вашим проектом, нажмите "Да".

5) Откройте файл активности, а затем измените версию Android, которая будет использоваться при рендеринге макетов в среде IDE, до "API 19". Это зелёный цветной Android Bot справа в окне предварительного просмотра.

Ответ 5

Я удалил 4.4w из моей sdk install pile, которая, должно быть, проскользнула мимо меня в последний раз, когда я установил sdk. Как только я удалил его, это уже не было и вариант, и затмение выбрало sdk, который у меня был, а не W, и это сработало.

Ответ 6

В Android 4.4W предлагаются носимые устройства. Android Wear - это наручные часы, и вы не можете вводить что-либо в нем, поэтому вы не можете использовать EditText на 4.4W. Измените API на 19 или меньше или измените его на 4.4L

Проверьте это @https://developer.android.com/design/wear/index.html

Вы можете изменить версию API предварительного просмотра, как предложил Джим, если вы не хотите разрабатывать приложения для носимых устройств.