- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 viewpager 的适配器来显示 youtube 视频。
public class ViewPagerYoutubeAdapter extends FragmentStatePagerAdapter {
String whichlist, site;
private int totalItemsSize;// = 18;
public ViewPagerYoutubeAdapter(FragmentManager supportFragmentManager,
String whichlist, String site, Context context) {
super(supportFragmentManager);
this.whichlist = whichlist;
this.site = site;
if (whichlist.equalsIgnoreCase("geetaMessages")) {
totalItemsSize = context.getResources().getStringArray(
R.array.geeta_messages_name).length;
}
}
@Override
public Fragment getItem(int position) {
return ArrayListYoutubeFragment.newInstance(position, whichlist, site);
}
@Override
public int getCount() {
return totalItemsSize;
}
}
和ArrayListYoutubeFragment如下:暂时忽略参数。我现在只想在所有页面上只播放一个视频。
public class ArrayListYoutubeFragment extends YouTubePlayerSupportFragment implements YouTubePlayer.OnInitializedListener{
private String currentVideoID = "video_id";
private YouTubePlayer activePlayer;
public ArrayListYoutubeFragment() {
// TODO Auto-generated constructor stub
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragments_demo, container, false);
YouTubePlayerSupportFragment youTubePlayerFragment = (YouTubePlayerSupportFragment) getFragmentManager()
.findFragmentById(R.id.youtube_fragment);
youTubePlayerFragment.initialize(Constants.DEVELOPER_KEY, this);
return v;
}
@SuppressLint("NewApi")
public static ArrayListYoutubeFragment newInstance(int position,
String whichlist, String site) {
ArrayListYoutubeFragment playerYouTubeFrag = new ArrayListYoutubeFragment();
Bundle bundle = new Bundle();
bundle.putString("url", whichlist);
playerYouTubeFrag.setArguments(bundle);
return playerYouTubeFrag;
}
// @Override
public void onYouTubeVideoPaused() {
activePlayer.pause();
}
@Override
public void onInitializationFailure(Provider arg0,
YouTubeInitializationResult arg1) {
// TODO Auto-generated method stub
}
@Override
public void onInitializationSuccess(Provider arg0, YouTubePlayer player,
boolean wasRestored) {
// TODO Auto-generated method stub
if (!wasRestored) {
player.cueVideo("nCgQDjiotG0");
}
}
}
但我遇到了以下错误。
12:36:44.422: E/AndroidRuntime(8625): FATAL EXCEPTION: main
12:36:44.422: E/AndroidRuntime(8625): Process: com.example.actionbarsherlock, PID: 8625
12:36:44.422: E/AndroidRuntime(8625): java.lang.NullPointerException
12:36:44.422: E/AndroidRuntime(8625): at com.google.android.youtube.player.YouTubePlayerSupportFragment.onStart(Unknown Source)
12:36:44.422: E/AndroidRuntime(8625): at com.example.viewpager.ArrayListYoutubeFragment.onStart(ArrayListYoutubeFragment.java:31)
12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.app.Fragment.performStart(Fragment.java:1524)
12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:957)
12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
04-25 12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.view.ViewPager.populate(ViewPager.java:914)
12:36:44.422: E/AndroidRuntime(8625): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436)
12:36:44.422: E/AndroidRuntime(8625): at android.view.View.measure(View.java:16497)
12:36:44.422: E/AndroidRuntime(8625): at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
12:36:44.422: E/AndroidRuntime(8625): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
12:36:44.422: E/AndroidRuntime(8625): at android.view.View.measure(View.java:16497)
12:36:44.422: E/AndroidRuntime(8625): at
最佳答案
遇到同样的问题,在stackoverflow上搜索了很多次。解决方案只是简单地扩展 Fragment
而不是 YouTubePlayerSupportFragment
。
public class FragmentTrailers extends Fragment implements YouTubePlayer.OnInitializedListener {
public static final String DEVELOPER_KEY = BuildConfig.YOUTUBE_API;
private static final int RECOVERY_DIALOG_REQUEST = 1;
private String url;
YouTubePlayerSupportFragment youTubePlayerView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.detail_fragment_trailers, container, false);
youTubePlayerView = YouTubePlayerSupportFragment.newInstance();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.youtube_fragment, youTubePlayerView).commit();
youTubePlayerView.initialize(DEVELOPER_KEY, this);
return view;
}
}
XML 布局文件。
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/youtube_fragment"/>
关于android - com.google.android.youtube.player.YouTubePlayerSupportFragment.onStart 的 NullPointerException(未知来源),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23301662/
MMuzammil: MainActivity:in onCreate MMuzammil: FirstFragment:in onAttach MMuzammil: FirstFragment:in
使用WebRole.cs配置IIS时,建议调用base.OnStart()的方式是什么? public class WebRole : Microsoft.WindowsAzure.ServiceRu
我有一个 Ruby on Rails 应用程序,需要在 Azure 辅助角色中找到一个位置。 我目前使用批处理文件自动部署应用程序 - 该文件获取 apache 和 ruby 安装程序,运行它们,
我有一个 Ruby on Rails 应用程序,需要在 Azure 辅助角色中找到一个位置。 我目前使用批处理文件自动部署应用程序 - 该文件获取 apache 和 ruby 安装程序,运行它们,
我正在尝试实现一个非常简单的服务示例。用户通过 EditText 输入值并单击计算按钮。 Calculate 按钮触发一个服务,该服务执行一些计算并将结果发送回另一个 EditText 框。如果我使用
这个问题在这里已经有了答案: Android activity life cycle - what are all these methods for? (9 个回答) 关闭 9 年前。 关于Act
我已经阅读了关于 onResume() 和 onStart() 的文档,但我仍然不明白的一件事是 onResume() 在没有 onStart() 之前被调用? 最佳答案 请引用Android Act
我有这个 MainActivity,它会在我启动应用程序时启动,我知道只有这样 onCreate 才会被调用,然后 onStart 才会被调用。无论如何要知道是否调用了 onStart,而不先调用 o
我想节省countDownTimer开始工作的时间,有没有类似onStart()的方法? timeToDirectAnswer = new CountDownTimer(25000, 1000) {
我正在尝试了解 Android Activity 生命周期。为此,我创建了 Activity,其中覆盖了所有生命周期方法(onCreate、onStart、onRestart、onResume、onP
我是 android 开发的新手,我想为我的应用程序创建一个小部件。不幸的是我无法让它工作。我希望我的小部件启动服务。该服务应包含所有逻辑,例如根据内部存储文件的数据读取更新文本字段。我必须每分钟更新
我查看了关于堆栈溢出的另一个线程(来源:Difference between onCreate() and onStart()?)该线程将 onStart() 方法描述为“当 Activity 对用户
长话短说有没有人有任何例子说明 useAnimatedGestureHandler 的正确泛型是什么? 问题: 我正在关注 this Reanimated 2 手势动画教程。有这个例子: //...
在基于 NetBeans Platform 7.2 的应用程序中,可以用这段代码替换 ModuleInstall 类: import org.openide.modules.OnStart; impo
我正在.net 2.0 中编写 Windows 服务。 我应该在 OnStart() 内做什么如果出于某种原因我不希望我的服务启动的方法?我可以直接调用Stop()吗?基类的方法(ServiceBas
我的 Azure 解决方案中有一个简单的 WebRole 类: public class WebRole : RoleEntryPoint { public override bool OnS
当我启动 Play 服务器时,我只需要运行一些代码。使用 GlobalSettings.OnStart() 时,我注意到代码仅在对服务器的第一个 (http) 请求之后执行。知道如何在服务器启动后和发
这个问题在这里已经有了答案: Difference between onCreate() and onStart()? [duplicate] (2 个回答) 8年前关闭。 我一直想知道 onStar
我在 SwiftUI for MacOS 中使用 TapGesture。 TapGesture 仅在 TouchInsideOut 上被识别事件,当再次释放压力。我想在触地得分时调用一个 Action
在升级部署的情况下,OnStart 是否会从 WebRole.cs 调用? 最佳答案 http://msdn.microsoft.com/en-us/library/microsoft.windows
我是一名优秀的程序员,十分优秀!