web-dev-qa-db-ja.com

AndroidでTextViewに改行を追加する方法

TextViewxmlを定義するとき、どうやって新しい行を追加するのですか? \nは動作しないようです。

<TextView
   Android:id="@+id/txtTitlevalue"
   Android:text="Line1: \n-Line2\n-Line3"
   Android:layout_width="54dip"
   Android:layout_height="fill_parent"
   Android:textSize="11px" />
236
Pentium10

ビジュアルエディタを信頼しないでください。あなたのコードはエミュで動作します。

281
Macarse

試してください:

Android:lines="2"

\nは動作するはずです。

71
Christian

System.getProperty("line.separator");を試す

43
kakopappa

これはあなたのHTM.fromHtml(subTitle)呼び出しと関係があると思います。 "\ n"はHTMLに対するbupkisを意味するものではありません。 "\ n"の代わりに<br/>を試してください。

34
resnbl

まず、これをテキストビューに入れます。

Android:maxLines="10"

それからあなたのテキストビューのテキストで\nを使ってください。

maxLinesを使用すると、TextViewの高さが最大でも多くなります。別の番号を選んでもかまいません:)

19
aF.

上記すべてを試してみて、私自身の調査を行った結果、改行エスケープ文字をレンダリングするための次の解決策が得られました。

string = string.replace("\\\n", System.getProperty("line.separator"));
  1. あなたがフィルタリングする必要があるreplaceメソッドを使う 逃げた 改行(例:'\\\n'

  2. 改行'\n'エスケープ文字の各インスタンスは実際の改行にレンダリングされます

この例では、Google Apps ScriptingのnoSQLデータベース(ScriptDb)とJSON形式のデータを使用しました。

乾杯:D

16
Robert
<TextView
   Android:id="@+id/txtTitlevalue"
   Android:text="Line1: \r\n-Line2\r\n-Line3"
   Android:layout_width="54dip"
   Android:layout_height="fill_parent"
   Android:textSize="11px" />

私はこれがうまくいくと思います。

10
user3578286

私はちょうど同じ問題を解決し、xmlの属性の下に置く

Android:lines="2" Android:maxLines="4" Android:singleLine="false"

work .Html.fromHtml("text1 <br> text2").toString()も機能します。

8
Ben Wong

\n"\n"内にあることを確認してください。

8
Justin

これで私の問題は解決した。

stringVar.replaceAll("\\\\n", "\\\n");
7
viki

これは私にとってはSystem.getProperty("line.separator");です。

6
João Victor

私の2セント、Android TVを使って。

読みながら、XML文字列に\nを追加します。

public void setSubtitle(String subtitle) {
    this.subtitle = subtitle.replace("\\n", System.getProperty("line.separator"));
}
6
ATOzTOA

これを行う一つの方法はHtmlタグを使うことです::

txtTitlevalue.setText(Html.fromHtml("Line1"+"<br>"+"Line2" + " <br>"+"Line3"));
5
garry

保つ必要がある

1 .Android:maxLines="no of lines"

2.次の行を取得するために\nを使用する

4
Danny

デバッグすると、文字列は実際には"\ \r\ \n"または"\ \n"である、つまりエスケープされていることがわかります。それで、あなたがその文字列をマッサージするならば、余分な\を取り除くために、あなたはあなたの解決策を持つでしょう。これはデータベースから読んでいる場合は特にそうです。

4
Tilottama Gaat

ページレイアウト内ではなく、"\n"strings.xmlファイルに入れる必要があります。

4
epicness42

&lt;br&gt;の代わりに\n.を追加することもできます。

そして、TexViewにテキストを追加することができます。

articleTextView.setText(Html.fromHtml(textForTextView));
4
mobiledev Alex

\nをファイルstring.xmlに入れる必要があります

<string name="strtextparkcar">press Park my Car to store location \n</string>
3
simmash

私にとっての解決策は、レイアウトに次の行を追加することでした。

<LinearLayout
    xmlns:tools="http://schemas.Android.com/tools"
    ...
    >

そして\ nがビジュアルエディタに新しい行として表示されます。それが役に立てば幸い!

3
Rob

これはうまくいきます。あなたのアプリのためにそれをチェックしてください。

<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Text 1\nText 2\nText 3"/>
1
Palani kumar

サイドノート:を使ってテキストを大文字にする

Android:inputType="textCapCharacters"

\nが機能しなくなったようです。

1
Voy

your_package.RではなくAndroid.Rを使用していることを確認してください

1
Dror

RuDrA05の答えは良いです。EclipseでXMLを編集してもうまくいきませんが、メモ帳++でXMLを編集してもうまくいきます。

Eclipseやnotepad ++で保存したtxtファイルを読んでも同じことが起こります。

多分エンコードに関連しています。

1

textViewの新しい行では、テキストの途中に\ nを追加するだけで動作します。

0
Nikhil Borad

TextViewが任意のレイアウト(たとえばLinearLayout)にある場合は、レイアウトのAndroid:orientation="vertical"としてorientation属性をverticalに変更するか、TextView属性Android:singleLine="true"を変更してその後に新しい行を作成します。

0
Pavani
 Android:text="Previous Line &#10; Next Line" 

これはうまくいくでしょう。

0
Viral Parmar

JstはTextview_name.settext( "something\n new line")を試してください:

Javaファイル内

0
user11705013