Androidのstringsを修正する.xmlファイル、動的変更データ

2197 ワード

Androidのstringsを動的に修正する友人もいるかもしれません.xmlファイルの値は、ここでは簡単な方法をお勧めします.strings.xmlのノードはプレースホルダをサポートしています.以下に示します.
<
string
name
="data"
>
整数型:%1$d、浮動小数点型:%2$.2f、文字列:%3$s
string
>
そのうち%の後ろはプレースホルダの位置で、1から始まり、
$の後ろには、データを埋め込むタイプ%dがあります.整数型を表します.%f:浮動小数点型を表し、fの前の.2は小数点以下の桁数%cを表す:文字列を表すこれらはC言語の入出力関数のプレースホルダとよく似ている
プログラムでは、次のコードで文字列をフォーマットできます.つまり、プレースホルダの内容を入力します.
String data
=
getResources().getString(R.string.data); data
=
String.format(data,
100
,
10.3
,
"
2011-07-01
"
);
最後の実行結果は次のとおりです.
http://www.cnblogs.com/coolszy/archive/2011/07/01/2095545.html
多くの場合、GoogleはAndroidを設計する際に多くのMVCアーキテクチャを遵守し、公共コード、米工、具体的な論理開発者を独立させることができます.Androidのリソースファイルについてxmlでフォーマット文字列をどのように実現しますか?ここでAndroid 123は、簡単な例と、最終的にどのような場所で使用される可能性があるかを示します.
 
 
    cwj_Demo 
android開発ネットワーク
簡単な文字列リソースファイルですが、フォーマットには使用されません.簡単なので、意味を直接説明しています.Delete xxx Fileのようなものを設計しますか?Javaでxxxの名前を動的に取得する必要がある場合があります.そのため、リソースを定義するときにフォーマットを使用すると簡単に解決できます.Stringの山をつなぎ合わせたり、StringBufferをつなぎ合わせたりする必要はありません.appendのような愚かな方法を見てください.例を見てください.
Delete %1$s File
ここで%1$sは文字列型を表し、整数型であれば%1$dと書くことができ、printfのようなフォーマット文字列関数です.もちろん、フォーマットが必要なコンテンツが複数含まれている場合、2番目は%2$sまたは%2$dと書くことができますが、最終的にJavaでどのように呼び出されますか?次の例を見てください.
例一:整数型
I am %1$d years old
定義はこうです
もちろん、secretのようなstringタイプが出てくるなど、意外なことはしません.上は%1$dが%1$sではないことに注意してください.だから、デフォルトのマージは
int nAge=23;
String sAgeFormat = getResources().getString(R.string.alert); 
String sFinalAge = String.format(sAgeFormat, nAge); 
このように実行した後に、I am 23 years oldを構成して、とても便利ではありませんか.もちろん、次はString文字列の場合を見てみましょう.
例2:文字列型
String sName="cwj"
String sCity="Shanghai"
リソース定義
My name is %1$s , I am form %2$s 
Javaでは
String sInfoFormat = getResources().getString(R.string.alert2); 
String sFinalInfo=String.format(sInfoFormat, sName, sCity); 
全体的にMFCのCString::FormatまたはMac OSのNSLogのように定義されていますが、パラメータのn番目を表す%1または%nのようなC#のように表示されるパラメータの数字を表示する必要があります.本行の最終sFinalInfoに表示される内容は
My name is cwj , I am form Shanghai