0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Android]ダブルクォーテーションを画面に表示する

Last updated at Posted at 2020-05-08

はじめに

strings.xmlで定義したダブルクォーテーション(二重引用符)したい場合、「\"」を使います。
ただ、WPFの文字列リソースだと%quot;で表示されるのに…となったため簡単にまとめてみます。

比べてみる

"を含む文字列をTextViewに指定してみます。
「xmlにべた書きする」「strings.xmlの文字列を指定する」「Activityから文字列を指定する」の3つで比べてみました。

xmlにべた書きする

activity_main.xml
        <TextView
            android:text="b&quot;b"
        />
        

image.png
xmlでべた書きすると、\は効かないため特殊文字である%quot;と書かなければいけません。

strings.xmlの文字列を指定する

strings.xml
    <string name="name_a">a\"a</string>
    <string name="name_b">b&quot;b</string>
activity_main.xml
        <TextView
            android:text="@string/name_a"
        />
        <TextView
            android:text="@string/name_b"
        />

image.png

strings.xmlの文字列だと、\を付けないと"は表示されません。
%quot;だと表示されなくなります。

Activityから文字列を指定する

MainActivity.kt
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        textViewA.text = "a\"a"
        textViewB.text = "b&quot;b"
    }

image.png

Activityから文字列を指定すると、\を付けないと"は表示されません。
%quot;はXMLで使われる特殊文字なのでそのまま表示されます。

まとめ

%quot;は、XMLで使われる特殊文字ですが、strings.xmlは特殊でkotlinなどActivityでの書き方と同様に\"で良いみたいです。
しかも、%quot;だと表示されなかったので、びっくりしました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?