2017-03-05 2 views
2

xmlの構文を変更せずにstrings.xmlのものの代わりに自分の文字列を使用するように、strings.xmlから自動的に解析されたすべての文字列をオーバーライドしようとしていますファイル。自分の文字列でstring.xmlをオーバーライドします

私は、実行時にダウンロードされた文字列をネイティブTextViews、ボタン、ツールバーなどで表示したいと思っています。最初のアイデアはカスタムLayoutInflater.Factoryを定義し、ビューが終了した後にプログラム、膨らんだ。問題はLayoutInflaterコードが私自身でビューを膨らませ、&貼り付けインフレーションロジックが悪い考えのように思えるということです。

私の2番目のアイデアは、AttributeSetをラップして自分自身の文字列を挿入することでしたが、その方法を見つけることができませんでした。

誰も私が試していることを達成するための実行可能で堅牢な方法を持っていますか?

答えて

2

データをリソースとして指定すると、実行時に変更することはできません。正確には、「res」フォルダはJavaコードでは変更できません。

これは、Strings.xmlにも適用され、「値」フォルダにも適用されます。

あなたができることは、文字列のクラスを作成し、textviewssなどにそれらをフィードすることです。このクラスに到達し、コード内の値を変更し、レイアウトをリフレッシュ(リフレッシュ)して見通しを変更することができます。

+0

"このクラスを激励する"とはどういう意味ですか?私はresフォルダ自体を変更することはできないことを認識しています。代わりに文字列の動作を変更したいだけです。 xmlの各ビューをサブクラス化するのは面倒です。 – Geki

関連する問題