我已经创建了Activity并使用FragmentManeger
为其添加了一个片段。当我使用android.app.Fragment
并按后退按钮时,我的应用程序关闭。当我使用android.support.v4.app.Fragment
并按后退按钮时,片段将从活动中删除,但应用程序仍在运行。我无法理解为什么会这样。
以下是我使用的代码:
的活动:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getFragmentManager().beginTransaction()
.replace(R.id.content_fragment, new Fragment1())
.addToBackStack("first")
.commit();
}
}
片段:
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment1 extends Fragment {
public Fragment1() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_fragment1, container, false);
}
}
当我只是将Activity
和Fragment
中的导入替换为相同的类时,但在支持库中,结果却不同......
编辑:
我还将getFragemetManeger()
替换为getSupportFragmentMeneger()
,但它仍然有效。
答案 0 :(得分:0)
如果您只想改变背部行为,可以尝试覆盖 onBackPressed有类似的东西:
if(backstackCount() > 0)
{
super.onBackPressed
}
答案 1 :(得分:0)
问题出现了,因为我使用了android.support.v7.app.AppCompatActivity和android.app.Fragment。我应该将android.app.Fragment与android.app.Activity或AppCompatActivity一起用于支持片段。