我试图做到这一点,以便当我单击图像框时,播放的视频应该停止线程并开始一个新视频。目前,它给了我一个“IllegalStateException”异常。
如何停止线程并开始一个全新的视频?
public class VideoActivity extends AppCompatActivity {
VideoView videoView;
MediaController mController;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
playVideo("android.resource://"+ getPackageName() + "/" + R.raw.introductie);
}
protected void onClick(View v)
{
videoView.stopPlayback();
switch(v.getId())
{
case R.id.imageView2:
playVideo("android.resource://"+ getPackageName() + "/" + R.raw.introductie);
break;
case R.id.imageView3:
playVideo("android.resource://"+ getPackageName() + "/" + R.raw.wel_iets_aan_de_hand3);
break;
case R.id.imageView4:
playVideo("android.resource://"+ getPackageName() + "/" + R.raw.hoe_moet_je_plassen4);
break;
case R.id.imageView5:
playVideo("android.resource://"+ getPackageName() + "/" + R.raw.wanneer_moet_je_plassen5);
break;
case R.id.imageView6:
playVideo("android.resource://"+ getPackageName() + "/" + R.raw.hoe_haak_moet_je_plassen6);
break;
case R.id.imageView7:
playVideo("android.resource://"+ getPackageName() + "/" + R.raw.piponormaalvrachtwagens7);
break;
case R.id.imageView8:
playVideo("android.resource://"+ getPackageName() + "/" + R.raw.pipoobstipatievrachtwagens8);
break;
}
}
protected void playVideo(String videoName)
{
videoView = findViewById(R.id.videoViewId);
mController = new MediaController(this);
videoView.setVideoPath(videoName);
mController.setAnchorView(videoView);
videoView.setMediaController(mController);
videoView.start();
}
}
9-06 09:55:21.163 7107-7107/com.example.nepalibinod.catherina E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.nepalibinod.catherina, PID: 7107
java.lang.IllegalStateException: Could not find method videoOne(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatImageView with id 'imageView2'
最佳答案
尝试在代码(Java/Kotlin)而不是 XML 中定义 OnClick 监听器。我假设发生的情况是,您将 android:onClick
分配给 XML 内的按钮,但 android 无法在代码中找到您的方法。
尝试findViewById
您的 View 并为其分配一个setOnClickListener
。
关于java - 单击 ImageView 时开始新视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52201336/