Android NullPointerException:显示列表中的视频
嗨,我正试图显示一个列表中的视频,我一直收到空指针异常,你知道为什么吗 这是我的代码:Android NullPointerException:显示列表中的视频,android,list,video,hyperlink,Android,List,Video,Hyperlink,嗨,我正试图显示一个列表中的视频,我一直收到空指针异常,你知道为什么吗 这是我的代码: public class HallList extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(ArrayAdapter.createF
public class HallList extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(),
R.array.lecturehalls ,R.layout.list_item));
getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (position == 0)
{ video(position);
}
else if(position == 1)
{
video(position);
}
}
});
}
private void video(int position){
MediaController mediaController = new MediaController(this);
VideoView videoView = (VideoView) findViewById(R.id.video);
if (position == 0){
//example path
String path0="http://www.pocketjourney.com/downloads/pj/video/famous.3gp";
mediaController.setMediaPlayer(videoView);
videoView.setVideoPath(path0);
videoView.setMediaController(mediaController);
videoView.requestFocus();
videoView.start();
mediaController.show(); }
else if( ........ ){...}
}
}
我不确定我的方法是否正确如果有更简单的方法,你能帮我吗我看到一个教程显示了列表中的web链接我想用同样的方法创建它,但似乎不知道如何使用视频链接列表来完成它?
以下是教程:
Thanx:在调试器中运行代码,然后查看堆栈跟踪以查看引发异常的位置。在哪个xml文件中定义VideoView?如果没有setContentView,您将定义视频视图 在没有看到您的错误日志的情况下,我猜这行代码会导致nullPointerException 您必须在xml文件中定义VIideoView,并将该xml文件设置为setContentViewmain.xml
在创建活动时,也要将此行放在setContentView之后。代码中没有设置setContentView。您将在OnCreate方法中获得getListView,这将导致出现空指针异常。我添加了setContentView,正如您所说,它具有videoview。但它给了我一个错误:您的内容应该具有ListView。如果我删除video函数并创建一个单独的类,我在没有设置内容视图的情况下完成了此操作VideoView很好。但是像这样,每个视频都需要创建一个单独的类,我不希望这样。我有一个VideoView.xml,我在那里定义了VideoView我添加了contentview,但是现在有一个错误:你的内容应该有一个ListView?是的,在VideoView.xml文件中放一个ListView,并将您的活动扩展为一个简单的活动,而不是ListActivity。然后在“活动”中定义listview并在其上设置适配器。
VideoView videoView = (VideoView) findViewById(R.id.video);