2016-10-13 5 views
-1

リストビューに複数のYouTube動画URL(arraylistに表示)を表示します。このリストビューには、そのビデオのURLとサムネイルの両方が表示され、ユーザーがビデオを選択した場合は、次のフルスクリーンで再生されます。YouTubeの動画を表示するリストビューのURLとサムネイル

JavaとXMLの両方でどうすればいいですか?

答えて

0

のURL &動画データはあなたのバックエンドで提供されているとすると、のようになり手順は次のとおりです。

1)「ビデオ」

public class Video 
{ 
    String Thumbnail; 
    String Url; 
    String Title; 

    //GET & SET Methods 
} 

のためにという名前のJavaクラスを作成します。 Java Classesの詳細については、refer thisを参照してください。

ビデオ

タイプのArrayListにすべてのあなたのビデオオブジェクトを追加します。 ArrayList<Video> videos = new ArrayList<~>();

2)

R.layoutディレクトリに 'single_video_item.xml' という名前の新しいAndroidのレイアウトを作成します。

ListViewに動画のリストを表示するには、最初に1行の表示方法を定義する必要があります。以下のようにファイルには、次のようになります。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dp"> 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Video Title" 
     android:textSize="18sp" /> 

    <ImageView 
     android:id="@+id/thumbnail" 
     android:layout_below="@+id/title" 
     android:layout_width="match_parent" 
     android:layout_marginTop="10dp" 
     android:layout_height="300dp" /> 

</RelativeLayout> 

3)すべての動画を表示するためにはタイプビデオ

のカスタムリストビューのアダプタを作成し、あなたがあなたのArrayListオブジェクトを反復処理するカスタムリストビューのアダプタが必要。 ListViewアダプターの詳細については、Refer thisを参照してください。

名「FeedAdapter.java」&などのファイルを約Custom adapters対象のビットより多くの露出を得るためにビットを読み、次のコード

public class FeedAdapter extends ArrayAdapter<Video> { 
    public FeedAdapter (Context context, ArrayList<Video> videos) { 
     super(context, 0, users); 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // Get the data item for this position 
     Video currentVideo = getItem(position);  
     // Check if an existing view is being reused, otherwise inflate the view 
     if (convertView == null) { 
      convertView = LayoutInflater.from(getContext()).inflate(R.layout.single_video_item, parent, false); 
     } 
     // Lookup view for data population 
     TextView title = (TextView) convertView.findViewById(R.id.title); 
     ImageView thumbnail = (TextView) convertView.findViewById(R.id.thumbnail); 
     // Populate the data into the template view using the data object 
     title.setText(currentVideo.Title); 
     //And similarly set your imageview data, etc 

     // Return the completed view to render on screen 
     return convertView; 
    } 
} 

を使用しています。

アダプターの基本的な設定を行ったので、作成したカスタムアダプターをリストビュー&に設定して、ビデオのリストを渡しましょう。あなたの活動ののonCreateで

、リストビューを定義&はFeedAdapterを初期化します。

//This is the listview in your main activity's xml 
ListView listView = (ListView) findViewById(R.id.feedListView); 
FeedAdapter<Video> adapter = new FeedAdapter(this, videos); 
listView.setAdapter(adapter); 

これはあなたのコードの主要な構造になります。プロシージャについてのより明確な考え方を得るためにカスタムListViewアダプタの詳細をお読みください。がんばろう!

P.S:コード全体をメモリで書きましたが、構文エラーがある場合はお知らせください。 ;)

EDIT

を使用すると、画像のURLは、FacebookによってチェックアウトFrescoとしてサムネイルを受け取った場合。これは、Image URLとして&をListViewにImageとして渡すことを可能にします。この方法を選択した場合、アンドロイドImageViewは必要ありません。

関連する問題