Додаток 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

Що ви намагаєтеся досягти? Чи виглядає ваш макет так, як ви хочете, або нічого не бачите? Здається, це працює для мене, тому єдине, що я міг би бачити без додаткової інформації, це якщо у вас немає рядка у strings.xml welcome_type_in_a_new_or_existing_note_name. Що, до речі, є зайво довгою назвою.
codeMagic

Я нічого не бачу у вікні дизайну. Він просто загрожує помилкою "Виняток, піднятий під час надання: java.lang.System.arraycopy ([CI [CII) V"). Також я змінив довге ім'я на "welcome_text"
AJDev

Що відбувається під час запуску програми? Нам дійсно потрібно знати, в якій помилці ви отримуєте будь-яку допомогу. Як я вже сказав, ваш xml працює для мене чудово. Ви спробували комбінацію клавіш, яку я запропонував отримати журнал помилок?
codeMagic

1
Чому так багато голосів за відповідь і стільки за запитання?
кассіомолін

Відповіді:


301

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

І в Android Studio, і в Eclipse це спадне меню із зеленим андроїдом на панелі інструментів попереднього перегляду макета. Ви можете встановити його чітко і не дозволяти IDE автоматично вибирати версію Android.


106

У IDE Eclipse просто змініть версію API, яку слід використовувати для попереднього перегляду, як показано на скріншоті нижче. Замість "Автоматично вибирайте найкраще" вручну виберіть той, який працює для вас (API 17 працював на мене).

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


9

Я змінив версію Android на Android 4.2, але це все ще не працює для мене. Я спробував різні рішення, виявив, що це працює лише шляхом видалення пакета Android 4.4W.

Вікно> Диспетчер SDK для Android> перевірте Android 4.4W (API 20), чи встановлений він> Видалити пакет


Ви впевнені, що це спрацює, видаливши пакет API20, оскільки я зіткнувся з тією ж проблемою, і я намагаюся також завантажити інші API
Sunishtha Singh

2

Якщо ви стикаєтеся з цим в 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 праворуч у вікні попереднього перегляду


0

Я видалив 4.4w зі своєї купи встановлення sdk, яка, мабуть, проскочила повз мене востаннє, коли я встановив sdk. Після того, як я його зняв, це вже не було і варіант, і затемнення вибрало sdk, я зробив це не W і він спрацював.


0

W в Android 4.4W пропонують носити пристрої. Android Wear - це наручний годинник, і ви нічого не можете вводити в нього, тому не можете використовувати EditText на 4.4W. Змініть API на 19 або менше або змініть на 4.4L

Перевірте це на веб-сайті @ https://developer.android.com/design/wear/index.html

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.