在我要使用fragmentManager时,具体是要在mainActivity中初始化我定义的某碎片,
要使用fragmentManager声明一个事务,
一开始时用的val tr = fragmentManager.beginTransaction()
在要用这个tr进行replace时,tr.repalce(R.id.XFrameLayout,我定义的继承了Fragment的某碎片),
出现了报错 !!!
①Type mismatch: cannot convert from XFragment to Fragment
之后翻阅网友们的建议,将自定义的碎片继承Fragment的包从 import android.app.Fragment 变成
android.support.v4.app.Fragment
然而在我自定义的碎片类中,发现一直在报错,这是因为系统默认使用androidx的内容,而不是support的,一山不容二虎。要用androidx取代support
再次翻阅网友们的建议,②取消默认androidx包的,降低版本不让自动下载androidx的,将gradle.properties里的
复制代码
1
2
3android.useAndroidX=true android.enableJetifier=true 改为false的
折腾了半天,最后我干脆用androidx的东西了
在mainActivity中直接用
复制代码
1
2val tr = supportFragmentManager.beginTransaction() 获取事务
之后没有报错了。
最后
以上就是开放冷风最近收集整理的关于android studio新手安卓开发心得(一)的全部内容,更多相关android内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复