2016-12-16 8 views
0

私はビデオ再生の背景などのインターフェイスを計画しており、テキストが表示されています。私はvideoviewと通常のtextievと通常のボタンを使用しています。スポットアプリの紹介のように。Videoviewを起動した後、setTextが正常に動作しないと言われました。

ので、私は、設定されたテキストのためのメソッドを作成する上で完璧な作業

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); 
} 

このコードをビデオ開口部

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

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

のための2つの方法 を作成するが、それはボタンクリックリスナー後に機能していません。

 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完全な方法でテキストを表示することができます。 (第2の条件)

答えて

0

解決済み、将来的に誰かにとって役に立つかもしれない、問題は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; 
     } 
    }); 
関連する問題