2016-07-03 5 views
1

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> 
+0

Posten ListView Element Layout sowie – Sharj

+0

hinzugefügt eine kondensierte listitem.xml –

+0

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 –

Antwort

0
android:layout_alignBottom="@+id/textView_raybae" 

Diese Linie in Kombination mit

android:layout_below="@+id/textView_out" 

Ursachen Größe Ihrer textView_comment streng zwischen unteren Linien der so TextViews. Versuchen Sie, zu löschen:

android:layout_alignBottom="@+id/textView_raybae" 

und ändern

android:layout_below="@+id/textView_out" 

zu

android:layout_below="@+id/textView_raybae" 
+0

Sorry für die späte Antwort, aber das hat funktioniert! Vielen Dank. –

0

Code feinen Versuch sieht

temp.replace("\\n", "\n") 

to 

replace("\\n", System.getProperty("line.separator")) 

Prüfung mit Blick Hierarchie zu ersetzen, wenn Ihre Sicht haben Genug Platz um andere Linien zu rendern .Um zu debuggen, würde ich vorschlagen, zuerst Ihre Textansichtszeilen zu reparieren, z. B. (Android: Zeilen = "2") und Ergebnis sehen.

+0

nein. Obwohl ich den Code leicht geändert habe: final String commentS = cursor.getString (cursor.getColumnIndex ("COMMENTS")). replace ("\\ n", System.getProperty ("line.separator")); Aber das sollte nichts an Zeilenumbrüchen ändern –

Verwandte Themen