Ich habe einen EditText für eine Aktivität, die für mehrzeilige Kommentare ist. Ich speichere diesen Wert dann in einer Datenbank, die in einer ListView-Aktivität einen benutzerdefinierten Cursor-Adapter verwendet, um den Wert erneut anzuzeigen.Wie man Textview die gleiche wie einen mehrspurigen editiertext ausgibt?
bindView(View view, Context context, Cursor cursor) {
...
TextView comment = (TextView) view.findViewById(R.id.textView_comment);
comment.setText(cursor.getString(cursor.getColumnIndex("COMMENTS")));
...
}
Beispiel EditText Wert:
//user input into EditText
line 1
line 2
line 3
//stored value
line 1\nline 2\nline 3
//TextView
line 1
jedoch bei der Prüfung, bei der Listenansicht nur die erste Zeile der Kommentare Textview Öffnung sichtbar ist. Ich habe mehrere Log.v benutzt, um zu verifizieren, dass die Zeilenumbrüche ("\ n") noch da sind, ich kann trotzdem nur die erste Zeile lesen. Auf einem anderen Thread Stackoverflow, sah ich, dass eine Lösung, dies zu tun war:
bindView(View view, Context context, Cursor cursor) {
...
TextView comment = (TextView) view.findViewById(R.id.textView_comment);
String temp = cursor.getString(cursor.getColumnIndex("COMMENTS"));
comment.setText(temp.replace("\\n", "\n"));
...
}
aber das Ergebnis ist immer noch nur die erste Zeile des Kommentars (siehe oben). Wer kennt noch eine andere Lösung?
Edit: hier ist eine verkürzte Version der listitem.xml Datei:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
...
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Comments: "
android:id="@+id/textView_raybae"
android:layout_below="@+id/textView_out"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Thoughts"
android:singleLine="false"
android:id="@+id/textView_comment"
android:layout_below="@+id/textView_out"
android:layout_alignBottom="@+id/textView_raybae"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/textView_raybae" />
...
</RelativeLayout>
</LinearLayout>
Posten ListView Element Layout sowie – Sharj
hinzugefügt eine kondensierte listitem.xml –
android: layout_alignBottom = "@ + id/textView_raybae" Versuchen Sie, das zu entfernen und sehen, was passiert. Wird die Höhe der Textansicht eingeschränkt und verhindert, dass sie mehrzeilig wird –