我想在网格中表示一个二维数组,其中包含一些数据,就像棋盘一样。比如我们有这样一个2d数组:
val nums = arrayOf(
arrayOf(0, 0, 0, 0, 1),
arrayOf(0, 0, 0, 1, 1),
arrayOf(0, 0, 1, 1, 1),
arrayOf(0, 0, 0, 1, 1),
arrayOf(0, 0, 0, 0, 1)
)
我的问题是我如何用网格视图显示它,什么是最好的方法。我也很乐意看到一些例子。我还是Kotlin的新手,有些事情有点令人困惑。我试着寻找类似的解决方案,但没有更接近我的问题。
val nums = arrayOf(
arrayOf(0, 0, 0, 0, 1),
arrayOf(0, 0, 0, 1, 1),
arrayOf(0, 0, 1, 1, 1),
arrayOf(0, 0, 0, 1, 1),
arrayOf(0, 0, 0, 0, 1)
)
将2D数组转换为List
val yourList = ArrayList<String>()
var numOfRow : Int
nums.forEach{ col ->
numOfRow = col.size()
col.forEach { row -> {
yourList.add(row)
}
}
用Grid Layout Manager创建一个recycle Adapter的实例
val adapter = YourAdapter(yourList)
yourRecyclerView.adapter = adapter
yourRecyclerView.layoutManager = GridLayoutManager(this, numOfRow)