说我在strings.xml中有这些行:
<string name="video">Video</string>
<string name="photo">Photo</string>
<string name="text">Text</string>
这些行在我的menu.xml文件中:
<item
android:id="@+id/video"
android:icon="@drawable/ic_game_50"
android:title="@string/video"
/>
<item
android:id="@+id/photo"
android:icon="@drawable/ic_help_50"
android:title="@string/photo"
/>
<item
android:id="@+id/text"
android:icon="@drawable/ic_help_50"
android:title="@string/text"
/>
我想改变这一点,这样就不会出现一连串的&#34;视频&#34;,&#34;照片&#34;,&#34;文字&#34;是&#34;视频[i]&#34;等等...当我是步数时,根据我运行某些意图的时间增加自己。
有可能吗?
答案 0 :(得分:0)
不幸的是,我认为不可能在XML中这样做。
您可以像这样对字符串进行参数化:
<string name="string_title">String %1$d</string>
然后你必须致电
int i = 1;
String string = getResources().getString(R.string.string_title, i);
您的字符串将包含“字符串1”,然后您需要将字符串分配给您的视图或菜单项,如Chintan Rathod建议的那样。
答案 1 :(得分:0)
有可能。
尝试以下代码。这将设置&#34;标题&#34;您的菜单项。
MenuItem item = menu.findItem(R.id.video);
item.setTitle("Video ["+i+"]");
您可以使用其他答案中提供的其他方法设置标题,例如获取字符串资源或硬编码。
修改强>
要使用 onCreateOptionsMenu 中的菜单对象,请使用以下代码。
首先声明一个全局对象
private Menu menu;
现在,指定菜单对象
@Override
public void onCreateOptionsMenu(int selection, Menu menu) {
this.menu = menu;
//rest of the code
}