【发布时间】:2021-02-02 21:42:57
【问题描述】:
我是 Kotlin 的新手,面临以下挑战:我定义了一个 TableLayout,它合并了其中的多个其他 TableLayout。我认为它们是我 UI 的一种正方形,我想让它们简单地可点击。
所以我做了以下在 MultiSquare.xml 的 TableRow 中定义一行 3 个 TableViews:
<TableRow
android:padding="5dp">
<include layout="@layout/basesquare" android:id="@+id/square01"/>
<include layout="@layout/basesquare" android:id="@+id/square02"/>
<include layout="@layout/basesquare" android:id="@+id/square03"/>
</TableRow>
并尝试在我的 MultiSquareActivity 中解决它们:
val mySquare01 : TableLayout = findViewById(R.id.square01)
mySquare01.setOnClickListener {
tvOutputMessage = findViewById(R.id.textView)
tvOutputMessage.text = "Table" + mySquare01.id + " was clicked!"
}
但是,我刚刚收到 R.id.square01 为 null 的错误消息 - 哎呀,我真的不明白为什么。希望有人能帮忙^^
问题是:ViewActivity中的square1如何寻址?
【问题讨论】:
-
你在
MultiSquareActivity的onCreate函数中setContentView(R.layout.MultiSquare)吗? -
是的,我做到了 - 正是 val val mySquare01 之前的代码行:TableLayout .... 等
标签: android xml android-studio kotlin