如何访问字符串数组的元素
<string-array name="contextMenuItems">
<item>Edit</item>
<item>Info</item>
<item>Delete</item>
</string-array>
来自其他资源xml文件
` <menu>
<item android:id="@+id/Edit"
android:title="@string/contextMenuItems" />
<item android:id="@+id/Info"
android:title="@array/contextMenuItems" />
</menu>`
答案 0 :(得分:3)
看起来根据这个类似职位的人不能做到。
How to access <item> from <string-array> resource in an android XML?
我的建议是在加载特定活动时使用一些Java代码填充菜单项,或者为每个菜单项使用单独的@string值。
答案 1 :(得分:1)
我想重新组织字符串资源,如下所示
在文件strings.xml中,
<string name="label_edit">Edit</string>
<string name="label_info">Info</string>
<string name="label_delete">Delete</string>
文件arrays.xml中的
<string-array name="contextMenuItems">
<item>@string/label_edit</item>
<item>@string/label_info</item>
<item>@string/label_delete</item>
</string-array>
在文件menu.xml中
<menu>
<item android:id="@+id/Edit" android:title="@string/label_edit" />
<item android:id="@+id/Info" android:title="@array/label_info" />
</menu>
希望它有所帮助。
答案 2 :(得分:0)
你必须覆盖一个函数:
public boolean onOptionsItemSelected(MenuItem item)
{
// Handle item selection
switch (item.getItemId())
{
case R.id.Edit:
//Handled [0]
return true;
case R.id.Info:
// Handled [1]
default:
return super.onOptionsItemSelected(item);
}
}