Приложение для 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 предварительного просмотра, как предложил Джим, если вы не хотите разрабатывать приложения для носимых устройств.