如何在android资源中定义二维字符串数组?

时间:2013-05-15 02:53:46

标签: android

我想用MsgName字段填充一个微调控件,当我选择微调器的一个项时,得到MsgValue。 所以我写下面的代码。但我不认为这是一个很好的代码,是否有更好的代码? 我是否需要为我的应用定义二维字符串数组?我能怎么做?谢谢!

<?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>

1 个答案:

答案 0 :(得分:0)

我希望明确地将每个名称与其值相关联,而不是让它们在两个单独的数组中处于相同的位置。

至少有几种方法可以实现这一目标。

  • 使用某种分隔符连接同一项目中的名称和值: e.g:
  

&lt; string-array name =“message”&gt;

     

&LT;项目&GT;收件箱|内容://短信/收件箱&LT; /项目&GT;

     

&LT;项目&GT;发送|内容://短信/发送&LT; /项目&GT;

     

&LT; /串阵列&GT;

  • 创建自定义xml资源,例如RES /值/消息list.xml:
  

&LT;邮件&gt;

     

&lt; message name =“Inbox”&gt; content:// inbox&lt; / message&gt;

     

&lt; message name =“已发送”&gt;内容://已发送&lt; / message&gt;

     

&LT; /邮件&gt;

当然,无论哪种方式,你都要处理内容并创建一个SpinnerAdapter - 在第一种情况下,你必须拆分条目,在第二种情况下,你将必须解析XML。