【发布时间】:2014-09-09 10:21:12
【问题描述】:
朋友 我想在列表中的视频视图中播放我的视频。 我对当前的代码不满意,因为除了第一个视频之外它没有播放。我的要求是当我单击列表中任何项目的视频视图按钮时必须有效播放。
下面是我在 listview 中设置的适配器,用于显示从 url 下载的所有视频,然后单击按钮在 videoview 中播放它,隐藏播放按钮。
public class RantAdapter extends AbsAdapter {
public RantAdapter(Activity activity, ArrayList<RantModel> rantList) {
super(activity, rantList);
}
GestureDetector mGestureDetector;
TextView likeCount = null;
TextView RantTitle = null;
VideoView videoView = null;
ImageView author = null;
ImageView videoImageUrl = null;
TextView author_name = null;
TextView commentCount = null;
OnGestureListener mGesturelistener;
Button playVideo;
Uri uri;
@Override
public View getView(int position, View view, ViewGroup parent) {
super.getView(position, view, parent);
LayoutInflater inflater = (LayoutInflater) mActivity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater
.inflate(R.layout.rant_row_layout, parent, false);
RantModel rantModel = mListContent.get(position);
RantTitle.setText(rantModel.title);
author.setImageBitmap(loadImageFromURL(rantModel.author_image_url));
author_name.setText(rantModel.author_name);
likeCount.setText(rantModel.view_count);
commentCount.setText(rantModel.comment_count);
videoImageUrl.setImageBitmap(loadImageFromURL(rantModel.content_image_url));
final String videoUrl = rantModel.content_url;
uri = Uri.parse(videoUrl);
playVideo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
playVideo.setVisibility(View.GONE);
videoImageUrl.setVisibility(View.INVISIBLE);
MediaController mediacontrol = new MediaController(mActivity);
mediacontrol.setAnchorView(videoView);
videoView.stopPlayback();
videoView.setMediaController(mediacontrol);
videoView.setVideoURI(uri); // videoView.seekTo(100);
videoView.requestFocus();
videoView.setZOrderOnTop(true);
videoView.start();
}
});
return rowView;
}}
【问题讨论】:
标签: android android-listview android-video-player android-videoview