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)')