Android studio 当应用程序运行时,视频开始播放。如何避免这种情况?
我用视频视图制作了一个列表视图。当应用程序运行时,视频将自动开始播放。我不想那样。当我点击视频时,它应该开始播放。我做了一个适配器 阵列适配器Android studio 当应用程序运行时,视频开始播放。如何避免这种情况?,android-studio,android-listview,android-videoview,Android Studio,Android Listview,Android Videoview,我用视频视图制作了一个列表视图。当应用程序运行时,视频将自动开始播放。我不想那样。当我点击视频时,它应该开始播放。我做了一个适配器 阵列适配器 MediaController mc; public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater LayoutInflater = (LayoutInflater)getContext().getSystemServic
MediaController mc;
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater LayoutInflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View listViewItem = LayoutInflater.inflate(R.layout.symptomlistitem, parent, false);
TextView txtSymptom = (TextView)listViewItem.findViewById(R.id.txtSymptom);
VideoView videoSymptom = (VideoView) listViewItem.findViewById(R.id.videoSymptom);
Symptom symptom = this.getItem(position);
txtSymptom.setText(symptom.getSymptom());
videoSymptom.setVideoURI(Uri.parse("android.resource://com.example.speechrecogniser/" + (symptom.getVideo())));
videoSymptom.setVisibility(View.VISIBLE);
videoSymptom.setMediaController(mc);
mc.setAnchorView(videoSymptom);
videoSymptom.start();
return listViewItem;
}
我添加了MediaController,但它不起作用。请帮帮我 视频会立即启动,因为您在
getView()
方法上添加了videoSymptom.start()
,因此当视频填充到列表中时,它们会立即启动
一种可能的解决方案是删除此语句,并确保只有在单击视频小部件时才调用.start()
方法:
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater LayoutInflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View listViewItem = LayoutInflater.inflate(R.layout.symptomlistitem, parent, false);
TextView txtSymptom = (TextView)listViewItem.findViewById(R.id.txtSymptom);
final VideoView videoSymptom = (VideoView) listViewItem.findViewById(R.id.videoSymptom);
Symptom symptom = this.getItem(position);
txtSymptom.setText(symptom.getSymptom());
videoSymptom.setVideoURI(Uri.parse("android.resource://com.example.speechrecogniser/" + (symptom.getVideo())));
videoSymptom.setVisibility(View.VISIBLE);
videoSymptom.setMediaController(mc);
videoSymptom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
videoSymptom.start();
}
});
mc.setAnchorView(videoSymptom);
return listViewItem;
}
应用程序立即打开和关闭。我不知道问题出在哪里:(现在我遇到了这个错误java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.widget.MediaController.setAnchorView(android.view.view)')