检索视频ID

Retrivie VideoID

我有两个 类(YtAdapter 和 MainActivity)。 在 YtAdapter 中,我有一个获取用户输入(关键字)并搜索该关键字的 Youtube 视频的方法。 它做得对,效果很好。

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder mHolder;
    if(convertView != null){
        mHolder = (ViewHolder)convertView.getTag();
    }else{
        mHolder = new ViewHolder();
        convertView = mLayoutInflater.inflate(R.layout.view_video_item,null);
        mHolder.mVideoThumbnail = (ImageView)convertView.findViewById(R.id.video_thumbnail);
        mHolder.mVideoTitle = (TextView)convertView.findViewById(R.id.video_title);
        convertView.setTag(mHolder);
    }
    //Setting the data
    SearchResult result = mVideoList.get(position);
    mHolder.mVideoTitle.setText(result.getSnippet().getTitle());

    //Loading the image
    Picasso.with(mActivity).load(result.getSnippet().getThumbnails().getMedium().getUrl()).into(mHolder.mVideoThumbnail);

    return  convertView;
}

唯一的问题是我可以看到视频但不能播放。 在我的 MainActivity 中,我有一个应该播放视频的 OnItemClicked 方法,但是,我不明白如何检索列表中其中一个视频的 VideoID(字符串)。

谁能帮我完成这件事? 这是 OnItemClicked 方法的代码:

    @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    VIDEO_ID = <<<<------ I need to get the VideoID of the video im clicking on in the list of the videos.
    Intent videoIntent = YouTubeStandalonePlayer.createVideoIntent(this,AppConstants.KEY,VIDEO_ID); /*Needed: result.getSnippet().get(videoID());*/
    startActivity(videoIntent);
}

我考虑在 YtAdpater 中使用一个 String 变量,并在 MainActivity 中使用该变量,现在正在处理它。

你可以这样获取点击的videoId:

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    SearchResult searchResult = (SearchResult) parent.getItemAtPosition(position);
    VIDEO_ID = searchResult.getId().getVideoId();
    Intent videoIntent = YouTubeStandalonePlayer.createVideoIntent(this,AppConstants.KEY,VIDEO_ID); /*Needed: result.getSnippet().get(videoID());*/
    startActivity(videoIntent);
}