2016-12-16 5 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ı"); 
      } 

     }); 

    } 

문제가 보여주는 비디오가 무한 루프에 가서을 stoping하지와의 setText 방법은 첫 번째 조건에서 작동하지, 나는 단지 VideoView를 지켜 보면서 완전한 방법에 텍스트를 표시 할 수 있습니다. (두 번째 조건)

답변

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