Videoview 启动后,setText commend 无法正常工作

After Videoview starting, setText commend not working properly

好吧,我正在计划一个界面,例如视频播放背景和一些文本出现在上面。我正在使用 videoview 和普通的 textiev 和普通的按钮。就像 spotify 应用程序的介绍。

所以我创建了 2 个方法 视频开场

 public void video_ac(String x){
    adres = null;
    adres = Uri.parse("android.resource://" + getPackageName()
            + "/"
            + "raw/" +x);

    videoView.setVideoURI(adres);
    videoView.start();
}

设置文本

public void yazdir (String a, String b, String c)
{
    ly.setVisibility(View.VISIBLE);
    icerik_yazisi.setText("");
    icerik_yazisi.setCharacterDelay(150);
    icerik_yazisi.animateText(a);
    BT_olumlu.setText(b);
    BT_olumsuz.setText(c);
}

此代码在创建方法中运行完美,但在按钮单击侦听器后不起作用。

      BT_olumlu.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            sorgula2(BT_olumlu.getText().toString());
            ly.setVisibility(View.GONE);
        }
    })

和我的方法:

public void sorgula2 (String sss){
    if (sss.equals("oyuna başla")){

        video_ac("abc");
        yazdir("yoldan geçen kamyonetn rengi hangisidir ..", "mavi tır " ,"sarı kamyonet");

    }

    else if(sss.equals("sarı kamyonet")){

        video_ac("bca");
        videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {
                yazdir(".. olay nerede gerçekleşmiş.", "otopark" ,"havalimanı");
            }

        });

    }

问题是显示视频进入无限循环而不停止,settext 方法在第一种情况下永远不起作用,我只能在 videoview 完整方法中显示文本。 (第二个条件)

已解决,可能在将来对某人有用,问题是 onclick 侦听器。我改了解决了

BT_olumlu.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch(event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    // PRESSED
                    return true; // if you want to handle the touch event
                case MotionEvent.ACTION_UP:
                    // RELEASED

                    icerik_yazisi.setVisibility(View.INVISIBLE);
                    sorgula2(BT_olumlu.getText().toString());
                    return true; // if you want to handle the touch event
            }
            return false;
        }
    });