1

「strings.xml」リソース ファイル内の文字列配列が毎回同じ順序で解析/逆シリアル化されると期待できますか?

この保証を明確に説明しているドキュメントを誰かが引用できる場合は、感謝します。または、少なくとも、このトピックに関するかなりの経験を提供してください。

また、これはベストプラクティスですか、それとももっと簡単な解決策がありませんか?

注:これは小さなリストになるので、絶対に必要でない限り、より複雑なデータベースやカスタム XML ソリューションを実装するつもりはありません。

<!--KEYS (ALWAYS CORRESPONDS TO LIST BELOW ??)-->
<string-array name="keys">
    <item>1</item>
    <item>2</item>
    <item>3</item>
</string-array>

<!--VALUES (ALWAYS CORRESPONDS TO LIST ABOVE ??)-->
<string-array name="values">
    <item>one</item>
    <item>two</item>
    <item>three</item>
</string-array>
4

1 に答える 1

4

はい、私が知る限り、アイテムの順序は毎回同じであると想定できます。つまり、個別に xml で宣言された配列を使用してキーと値のペアを安全に定義できます。API のデモ (arrays.xmlファイルなど) を見ると、Google が同じ方法を使用して静的なキーと値のペアを指定していることがわかります。entries_list_preferenceより具体的には、とからこれを推測できますentryvalues_list_preference。実際、考えてみると、たとえば a の順序が保証されない場合、静的リソースを指すために属性entriesを提供することはほとんど意味がありません。entryValuesListPreference

補遺: xml の多次元配列はサポートされていません。ただし、これらのケースを処理するために独自の xml パーサーを作成することはできますが、実際にはそれほど難しいことではありません。ただし、単純に 2 つの 1 次元配列を定義するよりも時間がかかるでしょう。

于 2012-04-06T05:26:08.533 に答える