2016-04-04 14 views
0

Recyclerviewの次の行の位置にフォーカスが自動的に移動します。私のRecyclerviewにはvideoviewが含まれています。メディア完了すると、私は次のvideoviewがplayed.Videoviewは、次のビデオを再生しているようにしたいだけRecyclerviewの次の行に自動的に移動

private static int position= 0; 
public static class ViewHolder extends RecyclerView.ViewHolder { 
    private VideoView videoView;   
    view.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     position= getAdapterPosition(); 
     //recyclerView.smoothScrollToPosition(position); 
     Log.d("TAG_LIST", "Element " + position+ " clicked."); 
    } 
    }); 
} 
holder.videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
    @Override 
    public void onCompletion(MediaPlayer mp) { 
    //recyclerView.smoothScrollToPosition(position); 
    Video(holder); 
    } 
}); 

private void Video(ViewHolder holder) { 
    if (++position>= items.size()) { 
    // Last song, just reset position 
    position= 0; 
    } else { 
    // Play next song 
    recyclerView.smoothScrollToPosition(position); 
    AsyncTask task = new AsyncTask (items.get(position).getUrl(), holder,position); 
    task.execute(items.get(position).getUrl()); 
    } 
} 
+1

あなたが試したことの何らかのコードを投稿してください。 –

+0

「フォーカス」について少し詳しく説明できますか?ハイライト、スクロール、トップアイテムの削除、またはメディアの自動再生のみを意味しますか? –

+0

私はrecyclerviewでvideoviewを持っています。最初のビデオが完成したら、フォーカスは次のビデオビューを再生するために次の位置に移動する必要があります。普通のプレーヤーの場合には1つのビデオが完成し、次のビデオが再生されます –

答えて

0

videoview第一の位置にあなたの問題に関連するコードをポストdidntのが、私はあなたに、このためのいくつかの方法を提案することができます。

  1. RecyclerViewに最初に表示されるアイテムの位置を見つけ、上の変化をスクロールリッスンあなたVideoView
  2. でビデオを開始し、あなたのRecyclerViewと最初に表示されるアイテムのインデックスが変更されたとき、次のRecyclerViewの項目をあなたのビデオを停止し、起動しVideoView