我正在尝试在我的应用中播放youtube视频。我知道可以通过将活动扩展为YouTubeBaseActivity来实现,因为我无法访问我的工具栏。
mActionBar = (Toolbar) findViewById(R.id.toolbar);
if (mActionBar != null)
{
setSupportActionBar(mActionBar);
}
getSupportActionBar().setTitle(getResources().getString(R.string.youtubetitle));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
我正在获取getSupportActionbar无法解决。是否有通过扩展活动YouTubeBaseActivity来访问工具栏的简便方法。
我做错什么了吗?
谢谢!
最佳答案
YouTubeBaseActivity
extends Activity
(与AppCompatActivity
相反),因此getSupportActionBar()
方法不存在。
您可以尝试使您的类扩展AppCompatActivity
,并在通常使用YouTubePlayerSupportFragment
的任何地方使用YouTubePlayerView
代替。
编辑:
将以下内容代替layout
添加到您的YouTubePlayerView
文件中
<fragment
android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
android:id="@+id/youtube_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
以与其他任何静态
onCreate()
相同的方式在Activity
的Fragment
中访问它public class CustomYouTubeActivity extends AppCompatActivity implements YouTubePlayer.OnInitialisedListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragments_demo);
YouTubePlayerSupportFragment frag =
(YouTubePlayerSupportFragment) getSupportFragmentManager().findFragmentById(R.id.youtube_fragment);
frag.initialize(DeveloperKey.DEVELOPER_KEY, this);
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
boolean wasRestored) {
if (!wasRestored) {
//I assume the below String value is your video id
player.cueVideo("nCgQDjiotG0");
}
@Override
public void onInitializationFailure (YouTubePlayer.Provider provider, YouTubeInitializationResult error) {
if (errorReason.isUserRecoverableError()) {
errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show();
} else {
String errorMessage = String.format(getString(R.string.error_player), errorReason.toString());
Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show();
}
}
}
关于android - 具有YouTubeBaseActivity的getSupportActionBar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61433425/