lateinit属性fragmentDispatchingAndroidInjector尚未初始化
当我试图改变显示器的方向时 它将显示此错误“lateinit属性fragmentDispatchingAndroidInjector尚未初始化” MainActivity.ktlateinit属性fragmentDispatchingAndroidInjector尚未初始化,android,kotlin,Android,Kotlin,当我试图改变显示器的方向时 它将显示此错误“lateinit属性fragmentDispatchingAndroidInjector尚未初始化” MainActivity.kt class MainActivity : BaseActivity(), HasSupportFragmentInjector { @Inject internal lateinit var fragmentDispatchingAndroidInjector: DispatchingAndroidIn
class MainActivity : BaseActivity(), HasSupportFragmentInjector {
@Inject
internal lateinit var fragmentDispatchingAndroidInjector: DispatchingAndroidInjector<Fragment>
internal lateinit var mainMenuPagerAdapter: MainMenuPagerAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mainMenuPagerAdapter = MainMenuPagerAdapter(supportFragmentManager)
setUpMainMenuPagerAdapter()
}
override fun onFragmentAttached() {
}
override fun onFragmentDetached(tag: String) {
}
override fun supportFragmentInjector(): AndroidInjector<Fragment>? {
return fragmentDispatchingAndroidInjector
}
private fun setUpMainMenuPagerAdapter() {
mainMenuPagerAdapter.count = 1
mainMenuViewPager.adapter = mainMenuPagerAdapter
tabLayout.addTab(tabLayout.newTab().setText(R.string.my_account).setIcon(R.drawable.ic_person_white_24dp))
mainMenuViewPager.offscreenPageLimit = tabLayout.tabCount;
mainMenuViewPager.addOnPageChangeListener(TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab) {
mainMenuViewPager.currentItem = tab.position
}
override fun onTabUnselected(tab: TabLayout.Tab) {}
override fun onTabReselected(tab: TabLayout.Tab) {}
})
}
}
class MainActivity:BaseActivity(),HassSupportFragmentInjector{
@注入
内部lateinit var碎片DispatchengAndroidInjector:DispatchengAndroidInjector
内部lateinit var MainMenuAgerAdapter:MainMenuAgerAdapter
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mainMenuPagerAdapter=mainMenuPagerAdapter(supportFragmentManager)
setUpMainMenuPagerAdapter()
}
覆盖已附加的碎片(){
}
重写已分离的碎片(标记:字符串){
}
重写fun supportFragmentInjector():AndroidInjector{
返回碎片分派和重新分配
}
私人娱乐设置MainMenuPagerAdapter(){
mainMenuPagerAdapter.count=1
mainMenuViewPager.adapter=mainMenuPager适配器
tabLayout.addTab(tabLayout.newTab().setText(R.string.my\u account.setIcon(R.drawable.ic\u person\u white\u 24dp))
main菜单viewpage.offscreenPageLimit=tabLayout.tabCount;
MainMenuViewManager.addOnPageChangeListener(TabLayout.TabLayoutOnPageChangeListener(TabLayout));
tabLayout.AddOnTableSelectedListener(对象:tabLayout.OnTableSelectedListener{
覆盖选定的列表(选项卡:TabLayout.tab){
MainMenuViewPage.currentItem=tab.position
}
覆盖已选择的对象(tab:TabLayout.tab){}
重写已重新选择的选项卡(选项卡:TabLayout.tab){}
})
}
}
这是我的
BaseActivity.ky
我在旋转屏幕时遇到了相同的故障,我在super.onCreate(savedInstanceState)之后调用了AndroidInjection.Injection(this)
在这之后没有崩溃。这可能会有所帮助。请附上基本活动的代码您好,对不起,我试图编辑代码,但无法编辑,因此我在答案中添加了@Ilyatretyakov。这不是答案。我试图在原始问题中编辑,但无法在其中添加更多代码,我不知道为什么。
abstract class BaseActivity : AppCompatActivity(), MVPView, BaseFragment.CallBack {
private var progressDialog: ProgressDialog? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
performDI()
}
override fun hideProgress() {
progressDialog?.let { if (it.isShowing) it.cancel() }
}
override fun showProgress() {
hideProgress()
progressDialog = CommonUtil.showLoadingDialog(this)
}
private fun performDI() = AndroidInjection.inject(this)
}
override fun onCreate(savedInstanceState: Bundle?) {
AndroidInjection.inject(this)
super.onCreate(savedInstanceState)
...
}