如果您无法将 tablelayout 子项转换为 TableRow,那么如何访问表行及其列。我有一个表格布局,并且表格行是在 onCreate 中以编程方式添加的。每次运行以下代码时,程序都会因错误而崩溃;
java.lang.ClassCastException: androidx.constraintlayout.widget.ConstraintLayout cannot be cast to android.widget.TableRow
val t = stableLayout.getChildAt(index:1) as TableRow
我不断收到错误的原因是因为在我的 XML 文件中定义了 tablerow 的列将是什么和具有什么,但整个 XML 文件是用 ConstraintLayout 嵌套的。这是我没有意识到的。我发现当你从 TableLayout 中 getChildAt 时,它会自动成为 TableRow 视图,而它不是 ConstraintLayout。意识到这一点后,我将 ConstraintLayout 更改为 LinearLayout。然后,我就能够访问 TableRow 及其列。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"