我想在当前活动中使用对话框,但事实是这个类已经有一个 YouTubeBaseActivity 后继者,因此dialog.show(getSupportFragmentManager(),“自定义”方法拒绝工作;即,getFragmentManager()他要求有一个图书馆import android.support.v7.app.AppCompatActivity;
有没有可能以某种方式解决这个问题?
public class PlayVideoYouTube extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
private TextView textView3;
private String a;
private YouTubePlayer player;
private static final int RECOVERY_REQUEST = 1;
private YouTubePlayerView youTubeView;
private FragmentManager supportFragmentManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start_video_youtube);
youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
youTubeView.initialize(Config.YOUTUBE_API_KEY, this);
}
@Override
public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean wasRestored) {
this.player = player;
if (!wasRestored) {
player.cueVideo("RJmZBs4MDqU"); // Plays https://www.youtube.com/watch?v=fhWaJi1Hsfo
a = String.valueOf(player.getCurrentTimeMillis()); //Получаем текущее время
}
}
@Override
public void onInitializationFailure(Provider provider, YouTubeInitializationResult errorReason) {
if (errorReason.isUserRecoverableError()) {
errorReason.getErrorDialog(this, RECOVERY_REQUEST).show();
} else {
String error = String.format(getString(R.string.player_error), errorReason.toString());
Toast.makeText(this, error, Toast.LENGTH_LONG).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == RECOVERY_REQUEST) {
// Retry initialization if user performed a recovery action
getYouTubePlayerProvider().initialize(Config.YOUTUBE_API_KEY, this);
}
}
protected Provider getYouTubePlayerProvider() {
return youTubeView;
}
public void rezult(View v) {
textView3 = (TextView) findViewById(R.id.textT);
a =String.valueOf(((float) player.getCurrentTimeMillis() / 1000.0) / 60.0);
textView3.setText(a);
//4. Создаем всплывающий Toast с текстом нажатого элемента
String language = ((TextView) v).getText().toString();
Toast.makeText(this, language, Toast.LENGTH_LONG).show();
CustomDialogFragment dialog = new CustomDialogFragment();
Bundle args = new Bundle();
args.putString("phone", "Передача данных....");
dialog.setArguments(args);
dialog.show(getSupportFragmentManager(), "custom");
^^//Ошибка Cannot resolve method 'getSupportFragmentManager()
}
}
要使用该库
android.support.v7,您需要从 AppCompatActivity 继承您的活动,并在其中使用YouTubePlayerFragment或YouTubePlayerSupportFragment类,具体取决于您的需要。YouTubeBaseActivity在这种情况下,根本不需要继承自。