Android Studio在MainActivity.kt中找不到TextView引用(来自设计)

时间:2020-10-21 22:31:52

标签: android android-studio kotlin

我对Android Studio完全陌生,在我遵循的教程中,某些问题对我不起作用。

package com.example.ticktacktoe


import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

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

        val allFields = arrayOf(f0, f1, f2, f3, f4, f5, f6, f7, f8)

    }
}

f1..f8kotlinx都被读取,并告诉我“未解决的引用”。

我已经在activity_main.xml中将f1 ... f8定义为textViews的ID

f0定义示例:

<TextView
                android:id="@+id/f0"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="#FFFFFF"
                android:fontFamily="monospace"
                android:gravity="center"
                android:textAppearance="@style/TextAppearance.AppCompat.Large" />

如何解决这个问题,以便可以在代码中引用设计中的m个textViews?

谢谢!

1 个答案:

答案 0 :(得分:1)

请使用以下合成材料替换您的进口行:

import kotlinx.android.synthetic.main.activity_main.view.*

不过,请注意,即将弃用Android的kotlinx合成物:https://youtrack.jetbrains.com/issue/KT-42121。不再推荐使用它们,因此值得一试View Binding