Android 10x10表未正确创建

Android 10x10表未正确创建,android,android-layout,kotlin,android-tablelayout,Android,Android Layout,Kotlin,Android Tablelayout,我想创建10x10网格,所以我使用和 我以编程方式创建我的tableView,如下所示: override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val table = TableLayout(this) for (i in 0..9) { val r

我想创建10x10网格,所以我使用和

我以编程方式创建我的tableView,如下所示:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val table = TableLayout(this)
    for (i in 0..9) {
        val row = TableRow(this)
        for (j in 0..9) {
            val cell = EditText(this)
            cell.setText("test")
            row.addView(cell)
        }
        table.addView(row)
    }

    setContentView(table)
}
问题:这将起作用,但将替换此活动的布局(可能是因为我正在调用
setContentView(table)

如何将我的表格视图放在
表格布局中(它是活动布局中的一个视图),而不是当前的结果?


为了更好地理解,我当前的代码给出了以下结果(如上所述):

您应该先签出

无论如何。将您的
表格布局
放入布局,使用
findViewById()
并使用它,而不是创建新的布局

val table = findViewById<TableLayout>(R.id.tablelayout)
for (i in 0..9) {
 // ... Same code
}
val table=findviewbyd(R.id.tablelayout)
对于(0..9中的i){
//…相同的代码
}

有趣的是,我在问问题之前就这么做了,结果出现了一个奇怪的无关错误。现在我简单地使用了
使缓存无效/重新启动
,它就起了作用(正如您的答案提到的使用
findViewById()
)。我会在10分钟内接受。