java - 单击 ImageView 时开始新视频

标签 java android

我试图做到这一点,以便当我单击图像框时,播放的视频应该停止线程并开始一个新视频。目前,它给了我一个“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/

相关文章:

java - 如何检查 ExecutorService 是否为 "healthy"并正常工作?

android - 我刚刚在 Eclipse 中创建了一个小的 android 项目,我应该将哪些文件添加到版本控制中?

android - 在 Android (ID3) 中设置音频文件媒体元数据

延迟加载图像的 Android 内存不足错误

android - 如何在所有 Activity 中访问抽屉导航?

java - 如何从 Applet 中模拟模态对话框?

java - Drools:如何设置多线程(multithreadEvaluation)7.34.0 -Java Maven Spring

java - JUnit 为什么/如何通过带有编译器错误的测试?

在 Linux 上找不到 Javax.Mail Authenticator

android - Android 上的伪本地化不起作用