TextView
にxml
を定義するとき、どうやって新しい行を追加するのですか? \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" />
ビジュアルエディタを信頼しないでください。あなたのコードはエミュで動作します。
試してください:
Android:lines="2"
\n
は動作するはずです。
System.getProperty("line.separator");
を試す
これはあなたのHTM.fromHtml(subTitle)
呼び出しと関係があると思います。 "\ n"はHTMLに対するbupkisを意味するものではありません。 "\ n"の代わりに<br/>
を試してください。
まず、これをテキストビューに入れます。
Android:maxLines="10"
それからあなたのテキストビューのテキストで\n
を使ってください。
maxLinesを使用すると、TextViewの高さが最大でも多くなります。別の番号を選んでもかまいません:)
上記すべてを試してみて、私自身の調査を行った結果、改行エスケープ文字をレンダリングするための次の解決策が得られました。
string = string.replace("\\\n", System.getProperty("line.separator"));
あなたがフィルタリングする必要があるreplaceメソッドを使う 逃げた 改行(例:'\\\n'
)
改行'\n'
エスケープ文字の各インスタンスは実際の改行にレンダリングされます
この例では、Google Apps ScriptingのnoSQLデータベース(ScriptDb)とJSON形式のデータを使用しました。
乾杯:D
<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" />
私はこれがうまくいくと思います。
私はちょうど同じ問題を解決し、xmlの属性の下に置く
Android:lines="2" Android:maxLines="4" Android:singleLine="false"
work .Html.fromHtml("text1 <br> text2").toString()
も機能します。
\n
が"\n"
内にあることを確認してください。
これで私の問題は解決した。
stringVar.replaceAll("\\\\n", "\\\n");
これは私にとってはSystem.getProperty("line.separator");
です。
私の2セント、Android TVを使って。
読みながら、XML文字列に\n
を追加します。
public void setSubtitle(String subtitle) {
this.subtitle = subtitle.replace("\\n", System.getProperty("line.separator"));
}
これを行う一つの方法はHtml
タグを使うことです::
txtTitlevalue.setText(Html.fromHtml("Line1"+"<br>"+"Line2" + " <br>"+"Line3"));
保つ必要がある
1 .Android:maxLines="no of lines"
2.次の行を取得するために\n
を使用する
デバッグすると、文字列は実際には"\ \r\ \n"
または"\ \n"
である、つまりエスケープされていることがわかります。それで、あなたがその文字列をマッサージするならば、余分な\
を取り除くために、あなたはあなたの解決策を持つでしょう。これはデータベースから読んでいる場合は特にそうです。
ページレイアウト内ではなく、"\n"
をstrings.xml
ファイルに入れる必要があります。
<br>
の代わりに\n.
を追加することもできます。
そして、TexViewにテキストを追加することができます。
articleTextView.setText(Html.fromHtml(textForTextView));
\n
をファイルstring.xml
に入れる必要があります
<string name="strtextparkcar">press Park my Car to store location \n</string>
私にとっての解決策は、レイアウトに次の行を追加することでした。
<LinearLayout
xmlns:tools="http://schemas.Android.com/tools"
...
>
そして\ nがビジュアルエディタに新しい行として表示されます。それが役に立てば幸い!
これはうまくいきます。あなたのアプリのためにそれをチェックしてください。
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Text 1\nText 2\nText 3"/>
サイドノート:を使ってテキストを大文字にする
Android:inputType="textCapCharacters"
\n
が機能しなくなったようです。
your_package.R
ではなくAndroid.R
を使用していることを確認してください
RuDrA05の答えは良いです。EclipseでXMLを編集してもうまくいきませんが、メモ帳++でXMLを編集してもうまくいきます。
Eclipseやnotepad ++で保存したtxtファイルを読んでも同じことが起こります。
多分エンコードに関連しています。
textViewの新しい行では、テキストの途中に\ nを追加するだけで動作します。
TextViewが任意のレイアウト(たとえばLinearLayout)にある場合は、レイアウトのAndroid:orientation="vertical"
としてorientation属性をverticalに変更するか、TextView
属性Android:singleLine="true"
を変更してその後に新しい行を作成します。
Android:text="Previous Line Next Line"
これはうまくいくでしょう。
JstはTextview_name.settext( "something\n new line")を試してください:
Javaファイル内