1

TextViewTwitter ハンドルの @ 記号で始まる文字列を表示する必要があります。string.xml に文字列を入れると、文字列の先頭にある @ が気に入らず、エラーが発生します。

error: Error: No resource type specified (at 'twitter_handle' with value '@twitter_handle').

TextView文字列リソースを使用する が含まれている layout.xmlでは、次のエラーが発生します。

The following classes could not be found:
- TextView (Change to android.widget.TextView, Fix Build Path, Edit XML)

@ 記号がテキストの先頭ではなく、文字列内の他の場所にある場合、エラーは発生しません。

@ 記号を&#64またはでエスケープする\u0040と、strings.xml ではエラーが消えますが、layout.xml では引き続きエラーが発生します。

@記号で始まる文字列をTextViewlayout.xmlで使用する方法はありますか?

文字列.xml:

...
<string name="twitter_handle">@twitter_handle</string>
...

レイアウト.xml:

...
<TextView
    ...
    android:text="@string/twitter_handle"
    ... />
...

問題は間違いなく、先頭の @ がリソースへの参照を意味するという事実に関係していますが、エスケープされた @ 記号を考慮して正しく動作させるべきではありませんか?

更新:この問題は、ADT Eclipse プラグインのバグであることが判明しました。最近リリースされた最新バージョンをインストールすると問題が修正され、strings.xml で @ をエスケープしてもエラーが発生しなくなりました。

4

3 に答える 3

2

次のように、先頭にスラッシュを付けてエスケープします。<string name="test">\@twitter</string>

編集:私は読むべきでした。から文字列を取得StringTextView、それをTextView

 String twitter = getString(R.id.twitter);
 textView.setText(twitter);

編集 2: @ 記号の代わりにこれを試してください: &#64;。看板のhtmlコードです。

于 2013-01-24T00:06:04.803 に答える
0

あなたはこれを試すことができます。string.xmlに文字列を作成し、それをレイアウトコードで使用します。

<string name="example"><Data>@twitter</Data></string>

@twitterはあなたの文字列の内容です

于 2013-01-24T00:41:54.917 に答える
0

このコードは、テストしたばかりで、私にとってはうまく機能します。ちょうどstrings.xmlのバックスラッシュに注意してください

文字列.xml:

...
<string name="twitter_handle">\@twitter_handle</string>
...

レイアウト.xml:

...
<TextView
    ...
    android:text="@string/twitter_handle"
    ... />
...

@twitter_handleテキストビューのように表示されます

于 2013-01-24T01:50:06.467 に答える