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();
我对片段中的适配器有疑问。它会抛出如下所示的拼写错误。
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();