2016-02-24 80 views
4

我試圖讓ThumbnailView我ArrayAdapter工作,但我收到以下錯誤:java.lang.IllegalStateException:未連接。調用connect() - YouTube的API

java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called. 
     at com.google.android.youtube.player.internal.r.i(Unknown Source) 
     at com.google.android.youtube.player.internal.o.k(Unknown Source) 
     at com.google.android.youtube.player.internal.o.a(Unknown Source) 
     at com.google.android.youtube.player.internal.p.<init>(Unknown Source) 
     at com.google.android.youtube.player.internal.ac.a(Unknown Source) 
     at com.google.android.youtube.player.YouTubeThumbnailView$a.a(Unknown Source) 

我ArrayAdapter看起來是這樣的:

Code for ArrayAdapter

我的xml video_items.xml看起來像這樣:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:background="@drawable/listviewbox" 
    android:padding="10dp" 
    android:layout_height="match_parent"> 

    <!-- Video Thumbnail --> 
    <com.google.android.youtube.player.YouTubeThumbnailView 
     android:id="@+id/imageView_thumbnail" 
     android:layout_width="85dp" 
     android:layout_height="85dp" 
     android:layout_alignParentLeft="true" 
     android:layout_margin="5dp" 
     android:background="@color/panelcolor" 
     android:scaleType="centerCrop" /> 

    <!-- Video Title --> 
    <TextView 
     android:id="@+id/video_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/imageView_thumbnail" 
     android:layout_toRightOf="@+id/imageView_thumbnail" 
     android:paddingBottom="5dp" 
     android:paddingRight="5dp" 
     android:text="@string/videotext" 
     android:textColor="@android:color/black" 
     android:textSize="16sp" /> 

</RelativeLayout> 

這裏有什麼問題?

+0

你得到解決?我有同樣的錯誤 –

回答

4

在長列表視圖中顯示YoutubeThumbnailView s時,發生同樣的情況。我找到了f.e.提到的解決方案。在這裏: https://github.com/youtube/yt-android-player/issues/2#issuecomment-58913900 或在這裏: https://code.google.com/p/gdata-issues/issues/detail?id=7533#c6

溶液包裹YoutubeThumbnailView一個ViewHolder對象內,跟蹤其初始化狀態。可能不會多次調用initialize(..)方法。

不幸的是,這個例外並不能很快引領到那裏。

+0

謝謝,你救了我 –

0

是指:java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called

我有同樣的問題在RecyclerView.Adapter 「YouTubeThumbnailView Not connected. Call connect() and wait for onConnected() to be called」 通過快速滾動,也有在recylerView 3個YouTube的縮略圖。

在我把這樣的適配器: 場:private boolean readyForLoadingYoutubeThumbnail = true; 和onBindViewHolder

/** 
* https://issuetracker.google.com/issues/35176819#c6 
* https://github.com/youtube/yt-android-player/issues/2#issuecomment-58913900 
* YouTubeThumbnailView Not connected. Call connect() and wait for onConnected() to be called 
*/ 
Log.d(TAG, "readyForLoadingYoutubeThumbnail" + readyForLoadingYoutubeThumbnail); 
final YouTubeInitializationResult result = YouTubeApiServiceUtil.isYouTubeApiServiceAvailable(activity); 
if (readyForLoadingYoutubeThumbnail) { 
    Log.d(TAG, "initializing for youtube thumbnail view..."); 
    readyForLoadingYoutubeThumbnail = false; 
    holder.youTubeThumbnailView.initialize("aaaaaaaaaaaaa", new YouTubeThumbnailView.OnInitializedListener() { 
     @Override 
     public void onInitializationSuccess(final YouTubeThumbnailView youTubeThumbnailView, final YouTubeThumbnailLoader youTubeThumbnailLoader) { 

      youTubeThumbnailLoader.setVideo(videoId); 
      youTubeThumbnailLoader.setOnThumbnailLoadedListener(new YouTubeThumbnailLoader.OnThumbnailLoadedListener(){ 

       @Override 
       public void onThumbnailLoaded(YouTubeThumbnailView childYouTubeThumbnailView, String s) { 
        childYouTubeThumbnailView.setVisibility(View.VISIBLE); 
        holder.relativeLayoutOverYouTubeThumbnailView.setVisibility(View.VISIBLE); 
        youTubeThumbnailLoader.release(); // spy ga memory lick 
       } 

       @Override 
       public void onThumbnailError(YouTubeThumbnailView youTubeThumbnailView, YouTubeThumbnailLoader.ErrorReason errorReason) { 
        youTubeThumbnailLoader.release(); // spy ga memory lick 
       } 
      }); 
      youTubeThumbnailView.setColorFilter(Color.rgb(123, 123, 123), android.graphics.PorterDuff.Mode.MULTIPLY); 

      readyForLoadingYoutubeThumbnail = true; 
     } 

     @Override 
     public void onInitializationFailure(YouTubeThumbnailView youTubeThumbnailView, YouTubeInitializationResult youTubeInitializationResult) { 
      //do nohing.. ada error, tambahin method ini jalan, error-nya lupa... 
      readyForLoadingYoutubeThumbnail = true; 
     } 
    }); 
} 

這是我的作品......

相關問題