错误
无法实例化 fragment androidx.navigation.fragment.NavHostFragment:确保类名存在,是公共(public)的,并且有一个公共(public)的空构造函数。
Activity 布局
<fragment
android:id="@+id/my_nav_host_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="androidx.navigation.fragment.NavHostFragment"
app:defaultNavHost="true"
app:navGraph="@navigation/app_nav" />
Activity
class HomeActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_home)
}
}
分段
class MovieListFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_movie_list, container, false)
}
}
使用的依赖:
implementation('android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha07') {
exclude group: "com.android.support"
}
implementation('android.arch.navigation:navigation-ui-ktx:1.0.0-alpha07') {
exclude group: "com.android.support"
}
最佳答案
如果它只发生在 proguarded 版本上,您可能忘记添加 proguard 规则。在您的 proguard 文件中添加以下规则
-keepnames class androidx.navigation.fragment.NavHostFragment
关于android - 无法实例化 fragment androidx.navigation.fragment.NavHostFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53153237/