Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java androidxml递增变量_Java_Android_Xml_String - Fatal编程技术网

Java androidxml递增变量

Java androidxml递增变量,java,android,xml,string,Java,Android,Xml,String,假设我在strings.xml中有以下几行: <string name="video">Video</string> <string name="photo">Photo</string> <string name="text">Text</string> 视频 照片 正文 以及my menu.xml文件中的以下行: <item android:id="@+id/video" android:icon="@draw

假设我在strings.xml中有以下几行:

<string name="video">Video</string>
<string name="photo">Photo</string>
<string name="text">Text</string>
视频
照片
正文
以及my 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"
/>

我想改变这个,这样就不用一个恒定的字符串“Video”、“Photo”、“Text”,而是“Video[I]”等等。。当我是步数,并根据我运行某些意图的次数增加


有可能吗?

不幸的是,我认为在XML中不可能做到这一点。

您可以如下方式参数化字符串:

<string name="string_title">String %1$d</string>
您的字符串将包含“字符串1”,然后您需要将该字符串指定给视图或菜单项,如Chintan Rathod建议的那样。

这是可能的

试试下面的代码。这将设置菜单项的“标题”

MenuItem item = menu.findItem(R.id.video);
item.setTitle("Video ["+i+"]");
您可以使用另一个答案中提供的其他方法设置标题,如获取字符串资源或硬编码

编辑

要使用创建选项菜单中的对象,请使用以下代码

首先声明一个全局对象

private Menu menu;
现在,指定菜单对象

@Override
public void onCreateOptionsMenu(int selection, Menu menu) {

    this.menu = menu;

    //rest of the code
}

你不能,但这是对Chintan答案的一个很好的改进。@Lawnmowerman是的。。你是对的。我的回答中没有涉及到这一部分。谢谢各位,但我不确定我是否明白到底可以做些什么来解决这个问题。请注意在哪个文件中实现什么代码好吗?所以最后假设代码是:inti=1;String String=getResources().getString(R.String.video,i);私人菜单;public void onCreateOptions菜单(int-selection,Menu-Menu){this.Menu=Menu;MenuItem-item=Menu.findItem(R.id.video);item.setTitle(“video[“+i+”]”;}?@user2517096太好了。。如果答案有帮助,希望您投票或接受答案:)谢谢,但不幸的是它拐杖。我不知道确切的原因。你有什么想法吗?@user2517096将帮助你,如果你能显示你的错误代码11-10 14:16:29.773:W/dalvikvm(2285):threadid=1:线程以未捕获异常退出(group=0x415b8bd8)11-10 14:16:29.781:E/AndroidRuntime(2285):致命异常:main 11-10 14:16:29.781:E/AndroidRuntime(2285):进程:com.google.android.glass.sample.charades,PID:2285你问问题而不愿意再接受是很自然的吗?
@Override
public void onCreateOptionsMenu(int selection, Menu menu) {

    this.menu = menu;

    //rest of the code
}