Android - Activity 和 Fragment 中的视图绑定

开启视图绑定

找到 build.gradle 文件,因为有两个 build.gradle,我们要操作的是第二个:

在这个位置加上这一句话,然后点击右上角的 Sync Now 按钮更新项目:

android {
  viewBinding {
    enabled = true
  }
}

在 Activity 中使用

一个 Activity 对应一个 Layout,MainActivity 的 viewBinding 是 ActivityMainBinding。SecondActivity 的 viewBinding 名称是 ActivitySecondBinding:

class MainActivity : AppCompatActivity() {
  private lateinit var binding: ActivityMainBinding

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    binding.textView.setText("Hello World!")
  }
}

在 Fragment 中使用

class NavFindFragment : Fragment() {
  private lateinit var binding: FragmentNavFindBinding

  override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    binding = FragmentNavFindBinding.inflate(layoutInflater, container, false)
    return binding.root
  }
}
posted @   Himmelbleu  阅读(21)  评论(0编辑  收藏  举报
首页
随笔
博客园
我的
标签
管理
Android - Activity 和 Fragment 中的视图绑定
发表于 2022-12-04 21:24
|
已有 20 人阅读
|
留下 0 条评论
|
全文字数 ≈ 56字

开启视图绑定

找到 build.gradle 文件,因为有两个 build.gradle,我们要操作的是第二个:

在这个位置加上这一句话,然后点击右上角的 Sync Now 按钮更新项目:

TXT
android {
  viewBinding {
    enabled = true
  }
}

在 Activity 中使用

一个 Activity 对应一个 Layout,MainActivity 的 viewBinding 是 ActivityMainBinding。SecondActivity 的 viewBinding 名称是 ActivitySecondBinding:

KT
class MainActivity : AppCompatActivity() {
  private lateinit var binding: ActivityMainBinding

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    binding.textView.setText("Hello World!")
  }
}

在 Fragment 中使用

KT
class NavFindFragment : Fragment() {
  private lateinit var binding: FragmentNavFindBinding

  override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    binding = FragmentNavFindBinding.inflate(layoutInflater, container, false)
    return binding.root
  }
}
作者:Himmelbleu
出处: https://www.cnblogs.com/Himmelbleu/#/p/16950860
版权:本作品采用「 署名-非商业性使用-相同方式共享 4.0 国际 」许可协议进行许可。
文章目录
开启视图绑定
在 Activity 中使用
在 Fragment 中使用
点击右上角即可分享
微信分享提示