我在同一个活动上有一个 VideoView 和一个 TextView。这是布局的 xml。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rellayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<VideoView
android:id="@+id/videoview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:padding="5dp" />
<TextView
android:id="@+id/numberTicker"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/purple"
android:textStyle="bold"
android:gravity="top|right"
android:textSize="35dp"
android:maxEms="3"/>
</RelativeLayout>
一旦视频开始播放,我希望在 numberTicker 文本视图上显示一个数字。请注意,这些数字可能每秒更改 4 次。无论如何,我遇到的主要问题是确定视频已经开始播放并继续更新 TextView。
我的尝试:
vid = (VideoView) findViewById(R.id.videoview);
ratings = (TextView) findViewById(R.id.ratingTicker);
vid.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
vid.start();
vid.postDelayed(onEveryQuarterSecond,250);
}
});
...
...
private Runnable onEveryQuarterSecond = new Runnable() {
Random r = new Random();
int uVal, aVal;
@Override
public void run() {
ratings.setText(Integer.toString(r.nextInt()));
}
};
Runnable 代码只会运行一次,并且永远不会更新。我错过了什么吗?
谢谢您的帮助!