0

私のstring.xml

<!--I try to bold my argument %s, like below:-->
<string name="hello">Hello to: <b>%s</b> !</string>

私のレイアウトmain.xml :

<LinearLayout
   ...>

<TextView
     android:id="@+id/hello_txt"
     ...
     .../>

</LinearLayout>

私のフラグメントクラス:

public class MyFragment extends Fragment{
  TextView helloTxt;

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      super.onCreateView(inflater, container, savedInstanceState);

    helloTxt = (TextView) findViewById(R.id.hello_txt);

  }

  @Override
  public void onStart() {
     super.onStart();

     //pass "Monday" as the argument to my string
     helloTxt.setText(String.format(getString(R.string.hello), "Monday"));

  }
}

デバイスでアプリを実行すると、「Hello to: Monday!」が画面に表示されますが、「Monday」は太字<b>ではありませんが、string.xmlで使用しました。なぜ大胆ではないのですか??

4

3 に答える 3

2

これで試してください:

String.xml:

<string name="hello">Hello to:  &lt;b>%s&lt;/b>.</string>

あなたの活動で:

TextView mytext1 = (TextView) findViewById(R.id.tx1);
mytext1.setText(Html.fromHtml(String.format(getString(R.string.hello), "Monday")));

わたしにはできる。

お役に立てば幸いです。

ありがとう。

于 2012-12-12T11:24:09.827 に答える
1

Html.fromHTML() メソッドを使用する

String str = HTML.fromHTML(String.format(getString(R.string.hello), "Monday"));
helloTxt.setText(str);
于 2012-12-12T11:00:44.050 に答える
0

マークアップを使用している場合は、次のようなものhtmlを使用する必要があります。Html.fromHtml

String styledText = "This is <font color='red'>simple</font>.";

textView.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE);
于 2012-12-12T11:04:42.827 に答える