1

スピナー コントロールに MsgName フィールドを入力し、スピナーの項目を選択したときに MsgValue を取得したいと考えています。だから私は次のコードを書きます.しかし、それは良いコードだとは思いません.より良いコードはありますか? アプリに 2 次元の文字列配列を定義する必要がありますか? どのようにできるのか?ありがとう!

<?xmlversion="1.0"encoding="utf-8"?>
<resources>
 <string-arrayname="MsgName">
   <item>Inbox</item>
   <item>Sent</item>
 </string-array>

 <string-arrayname="MsgValue">
   <item>content://sms/inbox</item>
   <item>content://sms/sent</item>
 </string-array>

</resources>
4

1 に答える 1

0

2 つの別々の配列で同じ位置に配置するだけでなく、各名前をその値に明示的に関連付けたいと思います。

これを達成するには、少なくともいくつかの方法があります。

  • 同じアイテム内の名前と値を連結するには、ある種のセパレータを使用します。例:

<string-array name="メッセージ">

<item>受信箱|content://sms/inbox</item>

<item>送信済み|content://sms/sent</item>

</文字列配列>

  • res/values/message-list.xml などのカスタム xml リソースを作成します。

<メッセージ>

<message name="Inbox">content://inbox</message>

<message name="Sent">content://sent</message>

</メッセージ>

もちろん、どちらの方法でも、コンテンツを処理して SpinnerAdapter を作成する必要があります。最初のケースでは、エントリを分割する必要があり、2 番目のケースでは、xml を解析する必要があります。

于 2013-05-15T03:30:12.513 に答える