Android-App in Eclipse: Bearbeiten Sie Text, der im grafischen Layout nicht angezeigt wird

105

Ich versuche, meiner Android-App in Eclipse ein Textfeld hinzuzufügen, aber dann ziehe ich die Plain textOption auf das grafische Layout. Eine Meldung unten wird angezeigt. Es lautet Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V Exception details are logged in Window > Show View > Error Log Auch wenn ich gehe, Window > Show Viewgibt es keine Fehlerprotokolloption. Der ganze Designer ist jetzt nutzlos, weil ich ihn nicht mehr verwenden kann, bis ich ihn EditTextdirekt aus der XML lösche . Was verursacht diesen Fehler und wie behebe ich ihn? Ich verwende die neueste Version (Stand heute, 30.06.14) und Windows 8 Pro x64.

Hier ist mein vollständiger Layoutcode:

<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>
AJDev
quelle
Veröffentlichen Sie Ihr vollständiges Layout. Versuchen Sie auch "Alt + Umschalt + Q, L", um das Fehlerprotokoll zu erhalten. Sie sollten lernen, die Registerkarte xml zu verwenden. Es ist viel flexibler und einfacher zu bedienen als die GUI.
CodeMagic
Was versuchst du zu erreichen? Sieht Ihr Layout so aus, wie Sie es möchten, oder sehen Sie nichts? Es scheint für mich zu funktionieren, so dass das einzige, was ich ohne weitere Informationen sehen könnte, ist, wenn Sie keinen String in Ihrer strings.xml mit haben welcome_type_in_a_new_or_existing_note_name. Das ist übrigens ein unnötig langer Name.
CodeMagic
Ich sehe nichts im Designfenster. Es wurde nur mit dem Fehler "Ausnahme beim Rendern ausgelöst: java.lang.System.arraycopy ([CI [CII) V" "abgeblendet. Außerdem habe ich den langen Namen in" welcome_text "
geändert
Was passiert, wenn Sie die App ausführen? Wir müssen wirklich wissen, welchen Fehler Sie bekommen, um Hilfe zu erhalten. Wie gesagt, deine XML funktioniert gut für mich. Haben Sie die von mir vorgeschlagene Tastenkombination ausprobiert, um das Fehlerprotokoll zu erhalten?
CodeMagic
1
Warum so viele Stimmen für die Antwort und so wenige für die Frage?
Cassiomolin

Antworten:

301

Überprüfen Sie die "Android-Version, die beim Rendern von Layouts verwendet werden soll", und stellen Sie sicher, dass Sie keine Version verwenden, die für Android Wear mit "W" endet ( z. B. API 20: Android 4.4W). Ich glaube nicht, dass Wear unterstützt EditText.

Sowohl in Android Studio als auch in Eclipse ist es das Dropdown-Menü mit dem grünen Android in der Symbolleiste der Layoutvorschau. Möglicherweise möchten Sie es explizit festlegen und der IDE nicht erlauben, die Android-Version automatisch auszuwählen.

Fabian
quelle
106

Ändern Sie in der Eclipse-IDE einfach die API-Version, die für die Vorschau verwendet werden soll (siehe Abbildung unten). Wählen Sie anstelle von "Automatisch die beste auswählen" manuell diejenige aus, die für Sie funktioniert (API 17 hat bei mir funktioniert).

Geben Sie hier die Bildbeschreibung ein

Jim C.
quelle
9

Ich habe meine Android-Version für Android 4.2 geändert, aber es funktioniert immer noch nicht für mich. Ich habe verschiedene Lösungen ausprobiert und festgestellt, dass es nur durch Löschen des Android 4.4W-Pakets funktioniert.

Fenster> Android SDK Manager> Überprüfen Sie Android 4.4W (API 20), ob es installiert wurde> Paket löschen

user3168958
quelle
Sind Sie sicher, dass es funktionieren wird, indem Sie das API20-Paket löschen, da ich vor dem gleichen Problem stehe und ich versuche, auch die anderen APIs herunterzuladen
Sunishtha Singh
2

Wenn Sie dies in Android Studio sehen, folgen Sie den Anweisungen

1) Deinstallieren Sie Android 4.4W (API 20) vom SDK-Manager

2) Stellen Sie sicher, dass Android SDK Build Tools 19.1 über den SDK-Manager installiert ist.

3) Bearbeiten Sie build.gradle in Ihrem App-Ordner. Stellen Sie die folgenden zwei Werte wie folgt ein

compileSdkVersion 19
buildToolsVersion "19.1"

4) Die IDE fordert Sie auf, die Gradle-Datei mit Ihrem Projekt zu synchronisieren. Klicken Sie auf Ja.

5) Öffnen Sie Ihre Aktivitätsdatei und ändern Sie die 'Android-Version, die beim Rendern von Layouts in IDE verwendet werden soll' in 'API 19'. Dies ist der grün gefärbte Android-Bot rechts im Vorschaufenster

Akshay Agarwal
quelle
0

Ich habe 4.4w von meinem SDK-Installationsstapel gelöscht, der bei der letzten Installation eines SDK an mir vorbeigekommen sein muss. Sobald ich es entfernt hatte, war es nicht mehr und Option, und Eclipse wählte eine SDK, die ich hatte, die nicht W war und es funktionierte.

stu
quelle
0

Das W in Android 4.4W schlägt tragbare Geräte vor. Android Wear ist eine Armbanduhr, in die Sie nichts eingeben können, sodass Sie EditText nicht für 4.4W verwenden können. Ändern Sie die API auf 19 oder weniger oder auf 4.4L

Überprüfen Sie es unter https://developer.android.com/design/wear/index.html

Sie können Ihre Vorschau-API-Version wie von Jim vorgeschlagen ändern, wenn Sie keine Apps für tragbare Geräte entwickeln möchten.

Harshil
quelle