【问题标题】:How do can I access UI elements from a Fragment in Android?如何从 Android 中的 Fragment 访问 UI 元素?
【发布时间】:2021-11-23 19:17:45
【问题描述】:

我正在为一个大学项目构建一个简单的 Android 应用程序,但在使用片段时遇到了一些问题。我不知道如何访问片段内的 UI 元素。

我们可以使用一些示例项目来回答这样的问题,但老实说,这段特定的代码让我更加困惑。

在下面的示例代码中,仅 ID 就足以引用为该特定片段创建的 XML 文件中的 TextView,但实际上这 4 行在 IDE 中像圣诞灯一样发光,我不能似乎想出了如何解决这个问题。

我应该怎么做才能使这段代码正常工作? 使用 Kotlin 访问片段内的 TextView(和其他 UI 元素)的其他替代方法是什么?

class DetailsProfileFragment : Fragment(R.layout.profile_detail){

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        val person = DataManager.person

        tvId.text = person.id
        tvSSN.text = person.socialSecurityNumber
        tvTaxId.text = person.taxId
        tvRegistrationId.text = person.registrationId

    }
}

【问题讨论】:

  • 你试过view.tvId...,view.tvSSn....吗?
  • 你应该考虑启用 ViewBinding
  • 您引用的代码似乎正在使用 kotlin android 扩展。

标签: android kotlin android-fragments fragment android-xml


【解决方案1】:

你应该改变:

tvId.text = person.Id

将其他行改为:

view.findViewById<TextView>(R.id.tvId).text = person.Id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 2015-12-22
    相关资源
    最近更新 更多