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


105

Я пытаюсь добавить текстовое поле в свое приложение для 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>

Разместите свой полный макет. Также попробуйте «Alt + Shift + Q, L», чтобы получить журнал ошибок. Вам следует научиться пользоваться вкладкой xml. Он намного гибче и проще в использовании, чем графический интерфейс.
codeMagic 01

Что вы пытаетесь достичь? Ваш макет выглядит так, как вы хотите, или вы ничего не видите? Похоже, это работает для меня, поэтому единственное, что я мог видеть без дополнительной информации, - это то, что у вас нет строки в вашем strings.xml с welcome_type_in_a_new_or_existing_note_name. Это, кстати, излишне длинное имя.
codeMagic 01

Я ничего не вижу в окне дизайна. Он просто выделен серым цветом с ошибкой «Исключение, возникшее во время рендеринга: java.lang.System.arraycopy ([CI [CII) V». Кроме того, я изменил длинное имя на «welcome_text»
AJDev 01

Что происходит, когда вы запускаете приложение? Нам действительно нужно знать, какие ошибки вы получаете, чтобы помочь. Как я уже сказал, ваш xml мне подходит. Вы пробовали комбинацию клавиш, которую я предложил, чтобы получить журнал ошибок?
codeMagic 01

1
Почему так много голосов за ответ и так мало за вопрос?
кассиомолин

Ответы:


301

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

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


106

В среде Eclipse IDE просто измените версию API, которая будет использоваться для предварительного просмотра, как показано на снимке экрана ниже. Вместо «Автоматически выбирать лучший» выберите вручную тот, который подходит вам (у меня работал API 17).

введите описание изображения здесь


9

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

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


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

2

Если вы столкнулись с этим в Android Studio, следуйте инструкциям

1) Удалите Android 4.4W (API 20) из SDK Manager

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

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

compileSdkVersion 19
buildToolsVersion "19.1"

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

5) Откройте файл активности и затем измените «версию Android для использования при рендеринге макетов в IDE» на «API 19». Это Android-бот зеленого цвета справа в окне предварительного просмотра.


0

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


0

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.