我正在计划一个界面,例如视频播放背景,并在其上显示一些文字。我正在使用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完整方法中显示文本。 (第二个条件)
答案 0 :(得分: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;
}
});