Android初学者。不是英语母语人士,请原谅我任何错误。
在GridLayout(4,4)中,我有15个标记为1..15的按钮,最后一个是白色。按钮有一个onClickListener设置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (W)hite
现在,如果用户点击15,则单击的按钮应将其位置与白色按钮交换。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 (W) 15
现在,在游戏期间,用户只能点击白色上方,下方,左侧或右侧的按钮。如果是白色的我没有发生任何事情。
我做了什么:
在我添加的情况下,设置一个没有子项的gridlayout xml文件 编程;
保存"指针"到白色按钮,所以我有一个有效的参考,用于删除和读取它。
我能做什么:
一旦删除了单击的按钮和白色按钮,我就无法将它们重新添加到反向位置。我有每个按钮的X,Y但是在几个addView()方法中,没有关于在X,Y值基础上的布局中定位的参数。我想使用LayoutParams的addView()方法可能是正确的,但我真的不明白如何使用LayoutParams来获取gridLayout中View的位置(坐标)。
希望我足够清楚
在此先感谢所有贡献者
正如我所说的,我是一个初学者,所以如果我的方法不正确,我会打开一个完全不同的解决方案。
答案 0 :(得分:0)
以下是使用GridView和自定义适配器的一个很好的示例:http://www.mkyong.com/android/android-gridview-example/
您可以使用整数数组而不是String数组。在此数组中,您必须保存可在GridView中使用的所有视图的ID。在getView中,您只需通过数组中的id实现此布局。此外,您将OnClickListner设置为此视图,当您单击某人时,您只需更改" white View"而不是"查看数字"整数数组中的id。
然后调用notifyDataSetChanged。 希望它可以帮到你。