我是kotlin和android的新手(只是为了防止)。
我正在研究一个结构为OneSingleActivity的项目。
问题在于,当我按下HOME按钮,然后再次尝试进入该应用程序时,它会自动崩溃。
它给出以下错误代码
android.view.InflateException:二进制XML文件第30行:二进制XML 文件行#30:夸大类片段的错误
源错误的目标是我的包含绑定初始化程序的行。
我的目标是当我按下HomeButton时,然后进入驻留在后台的应用程序,检索我所在的最后一个片段。
我已经尝试过:
更改manifest.xml(singleInstance,taskreparenting,clearTaskOnLaunch)
将意图标志更改为clearTop
使用DataindUtil.inflate
更改“主页”按钮的工作方式
当我onStop
时杀死活动(它起作用,但是当我重新启动该应用程序时,我不在按HB之前的最后一个片段上)
解除绑定
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
// Creating a binding to activity layout
// This is where app crash
val binding: ActivityNavigationBinding = DataBindingUtil.setContentView(this, R.layout.activity_navigation)
drawerLayout = binding.drawerLayout
}
activity_navigation.xml中使用的片段:
<fragment
android:id="@+id/nav_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_app"/>
预期:
实际上是:
非常感谢您为kotlin&android的新用户提供帮助。
答案 0 :(得分:0)
您的navGraph似乎有问题。检查是否指定了正确的片段名称等。