我正在使用 Android Youtube Player 作为
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtube_player"
android:layout_width="match_parent"
android:layout_height="200dp"
app:layout_constraintBottom_toTopOf="@id/idRVUsers"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
</com.google.android.youtube.player.YouTubePlayerView>
在同一布局上使用 recyclerview 组件。
我已经将youtube播放器初始化为
static String[] mStrings;
private YouTubePlayerView mYouTubePlayerView;
private YouTubePlayer.OnInitializedListener mOnInitializedListener;
private YouTubePlayer mYouTubePlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_secondscreen);
youTubePlayerSetup(); //Initialized successfully.
getDataFromAPI(new VolleyCallback() {
@Override
public void onSuccess(JSONArray result){
//do stuff here
loadingPB.setVisibility(View.GONE);
Toast.makeText(getApplicationContext(), "SUCCESS",Toast.LENGTH_LONG).show();
}
});
// creating a new array list.
userModalArrayList = new ArrayList<>();
// initializing our views.
userRV = findViewById(R.id.idRVUsers);
}
当我使用它的 id 播放一些视频并且确实播放但是当我切换到横向模式并使用 youtube ui 全屏控件返回纵向时它崩溃了。
Youtube 播放器崩溃并抛出此错误: 尝试在空对象引用上调用接口方法“void com.google.android.youtube.player.YouTubePlayer.loadVideo(java.lang.String)”
我刚试过。 添加了这一行 android:configChanges="方向|keyboardHidden|screenSize" 在 AndroidManifest.xml
<activity
android:name=".activities.secondscreen"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:configChanges="orientation|keyboardHidden|screenSize"/>
它现在处理方向变化。现在似乎没有发生崩溃问题。