【问题标题】:warning: Cannot find annotation method 'value()' in type 'OnLifecycleEvent': class file for android.arch.lifecycle.OnLifecycleEvent not found警告:在“OnLifecycleEvent”类型中找不到注释方法“value()”:找不到 android.arch.lifecycle.OnLifecycleEvent 的类文件
【发布时间】:2018-07-19 10:23:37
【问题描述】:

我正在做一个原生反应的安卓桥, 以下模块:https://github.com/PierfrancescoSoffritti/android-youtube-player/

但来自以下错误:

warning: Cannot find annotation method 'value()' in type 'OnLifecycleEvent': class file for android.arch.lifecycle.OnLifecycleEvent not found

warning: unknown enum constant Event.ON_DESTROY reason: class file for android.arch.lifecycle.Lifecycle not found

warning: Cannot find annotation method 'value()' in type 'OnLifecycleEvent'

warning: unknown enum constant Event.ON_STOP

error: cannot access LifecycleObserver
        youtubePlayerView.initialize(new YouTubePlayerInitListener() {
                         ^
  class file for android.arch.lifecycle.LifecycleObserver not found

这是我正在使用的源代码,我无法扩展 AppCompatActivity 来使用 getLifecycle().addObserver(youtubePlayerView);

package com.uiyoutube;

import android.support.annotation.NonNull;
import android.view.ViewGroup;
import android.widget.FrameLayout;

import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.ViewGroupManager;
import com.pierfrancescosoffritti.androidyoutubeplayer.player.YouTubePlayer;
import com.pierfrancescosoffritti.androidyoutubeplayer.player.YouTubePlayerView;
import com.pierfrancescosoffritti.androidyoutubeplayer.player.listeners.AbstractYouTubePlayerListener;
import com.pierfrancescosoffritti.androidyoutubeplayer.player.listeners.YouTubePlayerInitListener;

public class RNMaterialLetterIcon extends ViewGroupManager<ViewGroup> {

    public static final String REACT_CLASS = "RNMaterialLetterIcon";

    @Override
    public String getName() {
        return REACT_CLASS;
    }

    @Override
    protected FrameLayout createViewInstance(final ThemedReactContext reactContext) {
        //int randomId;

        //Random rand = new Random();
        //while (reactContext.getCurrentActivity().findViewById(randomId = rand.nextInt(Integer.MAX_VALUE) + 1) != null)
        ;
        //final int viewId = randomId;

        YouTubePlayerView youtubePlayerView = new YouTubePlayerView(reactContext);
        //youtubePlayerView.getPlayerUIController().showVideoTitle(true);
        //youtubePlayerView.getPlayerUIController().showYouTubeButton(false);
        //youtubePlayerView.getPlayerUIController().showFullscreenButton(false);

        //AppCompatActivity.getLifecycle().addObserver(youtubePlayerView);

        youtubePlayerView.initialize(new YouTubePlayerInitListener() {
            String videoId = "vs0-ix6UhwU";

            @Override
            public void onInitSuccess(@NonNull final YouTubePlayer initializedYouTubePlayer) {
                initializedYouTubePlayer.addListener(new AbstractYouTubePlayerListener() {
                    @Override
                    public void onReady() {
                        initializedYouTubePlayer.loadVideo(videoId, 660);
                    }

                    @Override
                    public void onCurrentSecond(float second) {
                        if (second == 680) initializedYouTubePlayer.seekTo(660);
                    }
                });
            }
        }, true);

        final FrameLayout frameLayout = new FrameLayout(reactContext);
        frameLayout.addView(youtubePlayerView);

        return frameLayout;
    }

}

我该如何解决?

【问题讨论】:

    标签: java android reactjs react-native viewgroup


    【解决方案1】:

    您可能需要导入 lifecycle library 或 appcompat。 它抱怨是因为它不知道生命周期库中的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-06
      • 1970-01-01
      • 2023-04-10
      • 2013-02-05
      • 2010-11-30
      • 1970-01-01
      • 2012-04-14
      • 2015-07-23
      相关资源
      最近更新 更多