java.lang.ClassCastException: android.app.Application 无法转换为 androidx.appcompat.app.AppCompatActivity

java.lang.ClassCastException: android.app.Application cannot be cast to androidx.appcompat.app.AppCompatActivity

我对片段中的适配器有疑问。它会抛出如下所示的拼写错误。

java.lang.ClassCastException: android.app.Application cannot be cast to androidx.appcompat.app.AppCompatActivity

这是代码片段。

SongDetailFragment fragment =
                        SongDetailFragment.newInstance(selectedSong);
                AppCompatActivity activity = (AppCompatActivity) view.getContext().getApplicationContext();
                activity.getSupportFragmentManager().beginTransaction()
                        .replace(R.id.song_detail_container, fragment)
                        .addToBackStack(null)
                        .commit();

我该如何解决?

在您的片段中使用:

AppCompatActivity activity = (AppCompatActivity) getActivity();

而不是:

AppCompatActivity activity = (AppCompatActivity) view.getContext().getApplicationContext();