小编Mih*_*a M的帖子

Android 崩溃 onCreate() - Fragment 无法转换为 androidx.navigation.fragment.NavHostFragment

我决定为我的应用程序执行 Firebase Robo 测试,并注意到它在打开外部活动然后返回应用程序后总是崩溃。我能够通过在开发人员选项中启用“不要保留活动”来复制问题。

碰撞: java.lang.ClassCastException: com.example.problemtesting.Fragments.Fragment_2 cannot be cast to androidx.navigation.fragment.NavHostFragment

它表明问题是由这行代码引起的: NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);

如何复制问题:

  1. 启用“不保持活动”
  2. 打开应用程序,然后打开应用程序抽屉
  3. 选择“片段 2”
  4. 按共享按钮
  5. 按消息按钮(或任何其他外部应用程序)
  6. 返回应用程序(崩溃)

如果禁用“不保留活动”,则该应用程序运行良好。

主要活动

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {

    DrawerLayout drawer;
    NavigationView navigationView;
    FragmentManager fragmentManager;
    AppBarConfiguration mAppBarConfiguration;
    NavController navController;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        fragmentManager = getSupportFragmentManager();
        drawer = findViewById(R.id.drawer_layout);
        navigationView = findViewById(R.id.nav_view);

        // Passing each menu ID as a set of Ids because each
        // menu should be considered …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments navigation-drawer fragmentmanager

5
推荐指数
1
解决办法
2385
查看次数

C# - 最接近 0 的数字

如果这听起来很愚蠢,我很抱歉,我是编程初学者。有人可以解释一下如何获得最接近 0 的数字吗,例如:

A = -13

乙 = 5

我怎样才能做到这一点,以便它可以显示在此示例中 B 最接近 0?

我用“if”尝试了一些东西,但似乎无法让它发挥作用。

谢谢

c# numbers closest

2
推荐指数
1
解决办法
1万
查看次数