Android GridLayout。如何获取点击视图的视图?

时间:2014-11-09 23:39:07

标签: android grid-layout

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的位置(坐标)。
希望我足够清楚 在此先感谢所有贡献者 正如我所说的,我是一个初学者,所以如果我的方法不正确,我会打开一个完全不同的解决方案。

1 个答案:

答案 0 :(得分:0)

以下是使用GridView和自定义适配器的一个很好的示例:http://www.mkyong.com/android/android-gridview-example/

您可以使用整数数组而不是String数组。在此数组中,您必须保存可在GridView中使用的所有视图的ID。在getView中,您只需通过数组中的id实现此布局。此外,您将OnClickListner设置为此视图,当您单击某人时,您只需更改" white View"而不是"查看数字"整数数组中的id。

然后调用notifyDataSetChanged。 希望它可以帮到你。