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

时间:2015-12-04 10:32:55

标签: java android

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

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

if (isBackable) fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

Android工作室警告:

此事务应使用commit()调用

完成

我不知道解决此警告的正确方法。

2 个答案:

答案 0 :(得分:7)

这是误报。

Android Lint只看到你在没有提交的情况下将一些片段事务调用链接在一起,但未能在后面的行中看到提交。

你可以

  1. 忽略警告,

  2. 使用@SuppressLint("CommitTransaction")

  3. 来抑制它
  4. 删除方法链接,即替换

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

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

答案 1 :(得分:0)

我想如果你试试这个警告就会消失

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

if (isBackable) {
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();
}

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

    if (isBackable) fragmentTransaction.addToBackStack(null).commit();

  

你可以取消警告

祝你好运!