应该通过提交调用完成此事务

naf*_*aka 4 java android

我有这段代码来改变片段:

FragmentTransaction fragmentTransaction = getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.frame_content, fragment);

if (isBackable) fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)

Android工作室警告:

应该使用commit()调用完成此事务

我不知道如何正确解决这个警告的方法.

laa*_*lto 7

这是误报.

Android Lint只看到你在没有提交的情况下将一些片段事务调用链接在一起但是在后面的行上看不到提交.

你也可以

  1. 忽略警告,

  2. 抑制它@SuppressLint("CommitTransaction"),或

  3. 删除方法链接即替换

    FragmentTransaction fragmentTransaction = getSupportFragmentManager()
                .beginTransaction()
                .replace(R.id.frame_content, fragment);
    
    Run Code Online (Sandbox Code Playgroud)

    FragmentTransaction fragmentTransaction = getSupportFragmentManager()
                .beginTransaction();
    fragmentTransaction.replace(R.id.frame_content, fragment);
    
    Run Code Online (Sandbox Code Playgroud)