gpt4 book ai didi

android - getSupportActionBar 与 YouTubeBaseActivity

转载 作者:行者123 更新时间:2023-12-01 17:10:21 25 4
gpt4 key购买 nike

我正在尝试在我的应用程序上播放 YouTube 视频。我知道这可以通过将 Activity 扩展为 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 Activity 来访问工具栏。

我做错了什么吗?

谢谢!

最佳答案

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"/>

ActivityonCreate() 中访问它,就像访问任何其他静态 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 - getSupportActionBar 与 YouTubeBaseActivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61433425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com