首页 > 其他分享 >Android开发踩坑日记

Android开发踩坑日记

时间:2022-10-19 23:56:38浏览次数:48  
标签:NavController 日记 ViewModelProvider 开发 Activity navHostFragment Android NavHostFr

  1. ViewModelProviders被弃用,改为ViewModelProvider
    ViewModelProvider使用方法
MyViewModel model = new ViewModelProvider(this).get(MyViewModel.class);

可能报错
Cannot resolve constructor 'ViewModelProvider(com.example.viewmodeltest.MainActivity)'
解决方法,在build.gradle的dependencies添加

implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
  1. 使用 FragmentContainerView 创建 NavHostFragment,或通过 FragmentTransaction 手动将 NavHostFragment 添加到 Activity 时,尝试通过 Navigation.findNavController(Activity, @IdRes int) 检索 Activity 的 onCreate() 中的 NavController 将失败。

解决办法是直接从 NavHostFragment中获取NavController。

NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.xxx);
NavController controller = navHostFragment.getNavController();

标签:NavController,日记,ViewModelProvider,开发,Activity,navHostFragment,Android,NavHostFr
From: https://www.cnblogs.com/leafz/p/16808255.html

相关文章

  • WPF工控组态软件之冷却塔和空气压缩机开发
    WPF以其丰富灵活的控件样式设计,相较于WinForm而言,一直是工控组态软件的宠儿。经过上一篇文章的学习,已经对WPF开发工控组态软件有了一个基本的了解,今天继续学习冷却塔和空......
  • XX学Python·开发环境搭建:anaconda
    1.开发环境搭建1.1 简介Anaconda是最流行的数据分析平台,全球两千多万人在使用Anaconda附带了一大批常用数据科学包1)conda2)Python3)集成150多个科学包及其......
  • Go 开发常用操作技巧--字符串
    Go语言字符串的字节使用的是UTF-8编码,是一种变长的编码方式。使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。含中文字符串截取字符串的长度我们可以使用l......
  • 软件开发目录
    1.软件开发目录规范1.面条版阶段 所有的代码全部堆叠在一起"""第一个阶段可以看成是直接将所有的数据放在C盘 视频音频文本图片"""2.函数版阶段 根据功能的不同......
  • ### 包的具体使用,软件开发目录规范,常用内置模块之collections模块,常用内置模块之时间
    包的具体使用虽然python3对包的要求降低了不需要__init__.py也可以识别但是为了兼容性考虑最好还是加上__init__.py1.如果只想用包中某几个模块那么还是按照之前的导......
  • Apple开发_配套基础
    1、开发语言C语言OC基础Swift语言......
  • Python系列(1)- Python 简介、开发环境配置和基础语法
    Python是荷兰人GuidovanRossum(吉多·范罗苏姆,中国程序员称其为“龟叔”)在1990年初开发的一种解释型编程语言。Python源代码遵循GPL(GNUGeneralPublicLicense)......
  • 多态对开发有什么好处呢?
    通过super调用基类构造方法,必须是子类构造方法中的第一个语句构造函数的主要作用是什么?在对象编程语言中,一般在定义了一个类型之后,为了能使用它,必须把这个类型具体化,......
  • 软件开发目录与常见内置模块
    今日内容详细包的具体使用虽然python3对包的要求降低了不需要__init__.py也可以识别但是为了兼容性考虑最好还是加上__init__.py1.如果只想用包中某几个模块那么还......
  • python基础:软件开发目录规范
    0、编程思想的转变1.面条版阶段所有的代码都全部堆叠在一起#可以看作直接将所有的数据都放在c盘2.函数版阶段根据功能的不同封装不同的函数(通过小字......