Android 单击播放列表中的项目后,如何显示视频?有什么想法吗
========================================主打================================================= ==这是第一个显示所有文件的地方,可以选择要播放的文件======Android 单击播放列表中的项目后,如何显示视频?有什么想法吗,android,media-player,android-videoview,android-logcat,Android,Media Player,Android Videoview,Android Logcat,========================================主打================================================= ==这是第一个显示所有文件的地方,可以选择要播放的文件====== package com.example.droid; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import an
package com.example.droid;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.app.ListActivity;
import android.content.ContentResolver;
import android.content.Intent;
import android.database.Cursor;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class mainplay extends ListActivity {
private ArrayList<Video> videoList;
private ListView videoView;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.videoplaylist);
videoView = (ListView)findViewById(android.R.id.list);
videoList = new ArrayList<Video>();
getVideoList();
Collections.sort(videoList, new Comparator<Video>(){
public int compare(Video a, Video b){
return a.getTTL().compareTo(b.getTTL());
}
});
VideoAdapter VAdp = new VideoAdapter(this, videoList);
videoView.setAdapter(VAdp);
}
public void getVideoList(){
//retrieve video info
ContentResolver videoResolver = getContentResolver();
Uri videoUri = android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
Cursor videoCursor = videoResolver.query(videoUri, null, null, null, null);
if(videoCursor!=null && videoCursor.moveToFirst()){
//get columns
int titleColumn = videoCursor.getColumnIndex
(android.provider.MediaStore.Video.Media.TITLE);
int idColumn = videoCursor.getColumnIndex
(android.provider.MediaStore.Video.Media._ID);
//add videos to list
do {
long thisId = videoCursor.getLong(idColumn);
String thisTitle = videoCursor.getString(titleColumn);
Log.e("video", thisTitle);
videoList.add(new Video(thisId, thisTitle));
}
while (videoCursor.moveToNext());
ListView listView = ( ListView ) findViewById(android.R.id.list);
OnItemClickListener itemClick = new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Intent Droid=new Intent(mainplay.this,DroidActivity.class);
startActivity(Droid);
}
};
listView.setOnItemClickListener(itemClick);
}
}
}
这是唯一的一个解决方案。 使用视频ID发送捆绑包(我假设列ID是唯一的) 例如:
Bundle bundle = new Bundle();
bundle.putInt("VIDEO_ID",video_id);
Intent Droid=new Intent(mainplay.this,DroidActivity.class);
Droid.putExtra(bundle);
startActivity(Droid);
这会将选择发送到其他活动
论驱动力
在onStart/OnResume上
用这个
现在按您发送的columid从列表中加载视频。
当columnId等于所选视频id时,移动列表
Bundle bundle = new Bundle();
bundle.putInt("VIDEO_ID",video_id);
Intent Droid=new Intent(mainplay.this,DroidActivity.class);
Droid.putExtra(bundle);
startActivity(Droid);
int value = getIntent().getExtras().getString("VIDEO ID")