答案 0 :(得分:1)
您可以使用以下建议:
首先,对于每个单元格,您可以创建一个表示该单元格状态的对象:
class Cell {
char mChar;
int row,column;
boolean isSelected;
}
然后您可以创建单元格的2D数组
Cell[][] mTable = ...
对于视图,您有很多选择:
表示细胞:
CheckableImageView(我觉得这个更合适)
并且对于整个表格的视图组,您可以选择以下任何一种:
嵌套LinearLayout(不推荐)
Custom View(您可以根据自己的特定需求创建viewgroup
)
用于检测滑动手势集OnSwipeTouchListener(您喜欢的答案)作为单元格视图的TouchListener
。这个监听器给出了这些事件的回调:
游戏架构
您可以使用MVC架构。你需要另一个类叫它GameController
。当您检测到滑动时
你必须将它传递给具有该单元格索引的GameController
。 GameController
必须检查滑动是否有效,例如对角线滑动可能无效或......此处应用规则。然后,如果滑动有效GameController
更新mTable
(例如将isSelected
设置为true
),则必须从{{1}更新ui
数据。
我认为整个想法现在对你来说更加清晰,期待发挥它: - )