Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.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 单击按钮后搜索索引值_Java_Android_Xml - Fatal编程技术网

Java 单击按钮后搜索索引值

Java 单击按钮后搜索索引值,java,android,xml,Java,Android,Xml,我正在为一个学校项目创建一个游戏,我有一个2d ImageButtons数组,我想知道我是否可以为我单击的按钮获取数组索引,而不必执行100个案例或在循环中运行100次(10x10板)一种方法是用数组索引标记每个ImageButton。例如,如果使用循环在代码中创建这些按钮,则可以使用循环变量在运行时设置标记。例如: imgButton1.setTag("1|1"); imgButton2.setTag("1|2"); ... imgButton10.setTag("1|10"); imgBut

我正在为一个学校项目创建一个游戏,我有一个2d ImageButtons数组,我想知道我是否可以为我单击的按钮获取数组索引,而不必执行100个案例或在循环中运行100次(10x10板)

一种方法是用数组索引标记每个ImageButton。例如,如果使用循环在代码中创建这些按钮,则可以使用循环变量在运行时设置标记。例如:

imgButton1.setTag("1|1");
imgButton2.setTag("1|2");
...
imgButton10.setTag("1|10");
imgButton11.setTag("2|1");
etc
如果您的ImageButton是在XML中预定义的,则可以对以下内容执行相同的操作:

android:tag="1|1"
然后在ImageButton clickhandler中(我假设您将把同一个按钮附加到所有按钮):


然后将这两个索引进行子串。

如果您在侦听器中,则事件的源是对单击的按钮的引用。创建按钮并将其添加到阵列时,将按钮的x&y添加到按钮的客户端属性中。或者扩展button类并在类中保存x&y。将源从事件强制转换到类并调用其方法。
String tag = (String) view.getTag();