java - Android TextView 换行不工作

标签 java android

我找到了答案我会在 2 天后接受它

我一直在尝试创建一个可以为用户显示多条消息的 Activity ,为了适应 TextView 中的所有内容,我需要创建三行。我在网上搜索没有给我任何解决方案,这是我尝试过的方法

Java

"\n"
"\r\n"
newLineChar = System.getProperty("line.separator")
messageTextView.setText(Html.fromHtml("This\n Is\n A Test"));
messageTextView.setText(Html.fromHtml("This<br> Is<br> A Test"));

xml

android:lines="3"
android:maxLines="3"

杂项。

  • 将字符串值直接硬编码到 setText() 中
  • 以上所有的各种组合
  • 删除 android:clickable="false"
  • 删除 android:cursorVisible="false"
  • 删除 android:focusable="false"
  • 删除 android:focusableInTouchMode="false"

代码 fragment :

// Message passed to next activity via putExtra()
message = "This\n Is\n A Test";
// Next Activity
TextView messageTextView = (TextView) findViewById(R.id.messageToUser);
String message = getIntent().getStringExtra("message");
messageTextView.setText(message);

TextView 的当前和更新的 XML:

<TextView
    android:id="@+id/messageToUser"
    android:layout_width="0dp"
    android:layout_height="200dp"
    android:background="#90FFFFFF"
    android:ems="10"
    android:fontFamily="serif"
    android:text=""
    android:textAlignment="center"
    android:textColor="@android:color/black"
    android:textSize="30sp"
    android:textStyle="bold"
    tools:layout_constraintTop_creator="1"
    tools:layout_constraintRight_creator="1"
    android:layout_marginStart="165dp"
    android:layout_marginEnd="165dp"
    app:layout_constraintRight_toRightOf="parent"
    android:layout_marginTop="209dp"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

如果这有帮助,我在 Windows 7、Android Studio 2.3.2、Java 1.8 上,专门为 SM-T580(Samsung Tab A 10.1")设计一个应用程序,TextView 的父级是组件树的基本 ConstraintLayout

最佳答案

试试这个\n对应ASCII字符0xA,也就是'LF'或者换行

        tv.setText("First line " + System.getProperty("line.separator") + "Line 2"+ System.getProperty("line.separator") + "Line 3");


String String1 = "value 1";
String String2 = "value 2";
TextView.setText(String1 + "\n" + String2);

或者试试这个

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

对于硬核字符串试试这个

<string name="value"> This\nis a sample string data</string>

<string name="value> This<br>is a sample<br> String data</string>

关于java - Android TextView 换行不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44558570/

相关文章:

android - 声明 SharedPreferences.Editor 会使我的应用程序崩溃

java - 套接字服务器 - 如何获取 Log4j2.xml 中客户端的名称?

java - 如何从带有命名参数的语句构建一个带有填充值的 SQL 字符串?

java - 基于 Linux OpenJDK Debian 的发行版的 JAVA_HOME 环境变量的正确目标是什么?

php - 在php中插入计算代码后出错

android - 如何在android中设置定时通知

android - 重复条目 - playservice 和 applozic

java - 如何在调用之前拦截方法并检查参数?

java - 如何在Java中的所有线程中维护List的单个副本

java - Android dex 问题 : nested class + final boolean : com. android.dex.util.ExceptionWithContext