Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使textview输出与多行edittext相同?_Android_Android Layout_Textview_Line Breaks_Multiline - Fatal编程技术网

Android 如何使textview输出与多行edittext相同?

Android 如何使textview输出与多行edittext相同?,android,android-layout,textview,line-breaks,multiline,Android,Android Layout,Textview,Line Breaks,Multiline,我有一个用于多行评论的活动的EditText。然后,我将该值存储到数据库中,在ListView活动中,我使用自定义游标适配器再次显示该值 bindView(View view, Context context, Cursor cursor) { ... TextView comment = (TextView) view.findViewById(R.id.textView_comment); comment.setText(cursor.getString(cursor.getColumnIn

我有一个用于多行评论的活动的EditText。然后,我将该值存储到数据库中,在ListView活动中,我使用自定义游标适配器再次显示该值

bindView(View view, Context context, Cursor cursor) {
...
TextView comment = (TextView) view.findViewById(R.id.textView_comment);
comment.setText(cursor.getString(cursor.getColumnIndex("COMMENTS")));
...
}
EditText值示例:

//user input into EditText
line 1
line 2
line 3

//stored value
line 1\nline 2\nline 3

//TextView
line 1
但是,在测试时,打开ListView时,只有注释TextView的第一行可见。我使用了多个Log.v来验证是否存在换行符(“\n”),但我仍然只能读取第一行。在另一个stackoverflow线程上,我看到一个解决方案是这样做:

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"));
...
}
然而,结果仍然只是注释的第一行(见上文)。有人知道其他解决办法吗

编辑:以下是listitem.xml文件的缩短版本:

<?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>

...
...
这一行与

android:layout_below="@+id/textView_out"
导致
textView\u注释的大小严格限制在文本视图的底线之间。尝试删除:

android:layout_alignBottom="@+id/textView_raybae"
改变

android:layout_below="@+id/textView_out"

这一行与

android:layout_below="@+id/textView_out"
导致
textView\u注释的大小严格限制在文本视图的底线之间。尝试删除:

android:layout_alignBottom="@+id/textView_raybae"
改变

android:layout_below="@+id/textView_out"


您的代码看起来很好,请尝试替换

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

to

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

如果视图有足够的空间渲染其他行,请检查“使用视图层次结构”。要进行调试,我建议首先修复文本视图行,例如(android:lines=“2”),然后查看结果

您的代码看起来很好,请尝试替换

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

to

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

如果视图有足够的空间渲染其他行,请检查“使用视图层次结构”。要进行调试,我建议首先修复文本视图行,例如(android:lines=“2”),然后查看结果

Post ListView项布局也添加了一个精简的listitem。xmlandroid:layout_alignBottom=“@+id/textView_raybae”尝试删除它,看看会发生什么。它限制了文本视图的高度,并可能阻止文本视图进入多行。不删除会导致文本视图进入左上角吗?Post ListView项布局还添加了一个精简的listitem。xmlandroid:layout_alignBottom=“@+id/textview_raybae”尝试删除它,看看会发生什么。它限制了文本视图的高度,并可能阻止它变为多行。删除它不会导致文本视图变为左上角吗?不会。虽然我稍微修改了代码:final String commentS=cursor.getString(cursor.getColumnIndex(“commentS”)).replace(\\n),System.getProperty(“line.separator”);但这不应该改变任何与换行符有关的事情。虽然我稍微修改了代码:final String commentS=cursor.getString(cursor.getColumnIndex(“commentS”)).replace(\\n),System.getProperty(“line.separator”);但这不应该改变任何与换行有关的事情