2017-08-02 7 views
2

文字列リソースを使用して表示するためにdouble値をバインドしようとしています。文字列リソースを使用して表示するAndroidバインディングdouble値

試み1:

layout.xml

android:text="@{@string/user_popularity(Double.toString(user.popularity))}" 

string.xmlを

<string name="user_popularity">Popularity: %s</string> 

試み2:

layout.xml

android:text="@{String.format(@string/user_popularity, user.popularity)}" 

string.xmlを

<string name="user_popularity">Popularity: %.1f</string> 

エラー:ここ

Error:(167, 107) error: double cannot be dereferenced 

は、いくつかの同様の質問がある

  1. How do I format a double using Android view data bindings?

  2. How do I use databinding to combine a string from resources with a dynamic variable in XML?

+1

答えに従うときに問題がありましたか?彼らはあなたの質問に答えているように見え、あなたの試みはそれらを使わない。 –

+0

はい、私は両方のソリューションを言及リンクから試しました。 – Puni

+0

これは、利用者を想定して、 'android:text =" @ {@ string/user_popularity(user.popularity)} "'と文字列リソース '人気度:%1 $ f人気は「ダブル」または「フロート」です。何を見ていますか?コンパイル時エラー、ランタイム例外、または書式が間違っていますか? 'binding.setUser()'を使ってユーザを割り当てていない可能性があります。 –

答えて

1

実際には、私は間違った方法をしていた、私の悪い非常に簡単でした。 これは解決策です。

<string name="user_popularity">Popularity: %.1f</string> 
android:text="@{@string/user_popularity(user.popularity)}" 
関連する問題