如何在API级别28中使用已弃用的getFragmentManager()?

时间:2019-01-21 08:15:22

标签: android android-fragments

在API级别28中,getFragmentManager()已过时。我已经使用了FragmentActivity.getSupportFragmentManager()这个解决方案。但是我该如何在我的代码中实现呢?

这是我的活动分类代码。

  public class AttendanceActivity extends FragmentActivity {

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

    if (findViewById(R.id.attendance_fragment_container) != null) {
        if (savedInstanceState != null) {
            return;
        }
        getFragmentManager().beginTransaction().add(R.id.attendance_fragment_container, new FragmentAttendance()).addToBackStack(null).commit();
    }
}

@Override
public void onBackPressed() {
    super.onBackPressed();
    ActivityUtils.startActivity(this);

   }

 }

1 个答案:

答案 0 :(得分:1)

代替

public class AttendanceActivity extends FragmentActivity

使用

public class AttendanceActivity extends AppCompatActivity

然后,更改下面的行

getFragmentManager().beginTransaction()....

使用

getSupportFragmentManager().beginTransaction()....

确保像这样声明FragmentAttendance:

public class FragmentAttendance extends android.support.v4.app.Fragment