android - Android Studio 在 MainActivity.kt 中找不到 TextView 引用(来自设计)
问题描述
我对 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..f8
并且kotlinx
都已阅读,它告诉我“未解决的参考”。
我已将 f1...f8 定义为 activity_main.xml 中 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?
谢谢!
解决方案
请将您的导入线替换为以下合成线:
import kotlinx.android.synthetic.main.activity_main.view.*
不过,请注意,用于 Android 的 kotlinx 合成器即将被弃用:https ://youtrack.jetbrains.com/issue/KT-42121 。它们不再是推荐的做法,因此可能值得查看 View Binding
推荐阅读
- python - Databricks 命令说从 Python 运行时未配置 databricks-cli(使用 os.system()),但在粘贴到命令行时工作正常
- flutter - 如何在vscode中为Flutter设置logo的Foreground layer和Background Layer?
- python - 如何冻结多个相关类方法的一些参数
- git - Git-LFS 添加文件类型(不加倍 repo 大小)
- python - rpy2应用函数后数据框没有变化
- r - 如何使用网状将python函数应用到r列表?
- javascript - Polymer 3 刷新组件
- c++11 - 如何正确使用 QGridLayout 在 Qt5 中将Widgets 彼此相邻添加
- reactjs - npm start 不起作用,因为他找不到 react-scripts
- caching - 如何将清漆添加到拇指,s3 设置?