Java 此事务应通过提交调用完成
我有以下代码来更改片段:Java 此事务应通过提交调用完成,java,android,Java,Android,我有以下代码来更改片段: FragmentTransaction fragmentTransaction = getSupportFragmentManager() .beginTransaction() .replace(R.id.frame_content, fragment); if (isBackable) fragmentTransaction.addToBackStack(null); fragmentTransaction.comm
FragmentTransaction fragmentTransaction = getSupportFragmentManager()
.beginTransaction()
.replace(R.id.frame_content, fragment);
if (isBackable) fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Android studio警告:
此事务应通过commit()调用完成
我不知道如何正确解决此警告。我想如果您尝试此方法,警告将消失
FragmentTransaction fragmentTransaction = getSupportFragmentManager()
.beginTransaction()
.replace(R.id.frame_content, fragment);
if (isBackable) {
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
或
或
你可以不显示警告
祝你好运 这是假阳性
AndroidLint只看到您在没有提交的情况下将一些片段事务调用链接在一起,但在后面的一行中看不到提交
你也可以
@SuppressLint(“提交交易”)
将其抑制,或FragmentTransaction fragmentTransaction = getSupportFragmentManager()
.beginTransaction()
.replace(R.id.frame_content, fragment);
与
它已经在那里了,所以没问题。是的,尽管有警告,它仍然在工作。我只是好奇,因为安卓工作室一直在警告我。这是一个糟糕的编码还是有其他方法可以做到这一点?这是anroid studio编译,它认为如果我们编写
beginTransaction()
,那么在该语句中应该有commit()
;这两种我都试过了。它仍然会发出同样的警告。当然,我可以压制这个警告。谢谢;)
FragmentTransaction fragmentTransaction = getSupportFragmentManager()
.beginTransaction()
.replace(R.id.frame_content, fragment);
FragmentTransaction fragmentTransaction = getSupportFragmentManager()
.beginTransaction();
fragmentTransaction.replace(R.id.frame_content, fragment);