我正在做一个项目,其中ImageView元素应该只在播放MediaPlayer对象时可见。
MediaPlayer的状态可以随时更改。
最好的连接方式是什么?我考虑过在后台运行一个线程,但对于这么小的东西来说似乎有点重。
这是线程的当前代码,应用程序运行了,但图像没有显示。
Thread imageRender = new Thread() {
@Override
public void run() {
if (mp.isPlaying() && img.getVisibility() == View.INVISIBLE) {
img.setVisibility(View.VISIBLE);
} else if (!mp.isPlaying() && img.getVisibility() == View.VISIBLE) {
img.setVisibility(View.INVISIBLE);
}
}
};
发布于 2019-03-15 08:01:47
您需要在UI线程上处理更新UI。简单的方法可以解决你的问题
Thread imageRender = new Thread() {
@Override
public void run() {
if (mp.isPlaying() && img.getVisibility() == View.INVISIBLE) {
runOnUiThread(new Runnable() {
@Override
public void run() {
img.setVisibility(View.VISIBLE);
}
});
} else if (!mp.isPlaying() && img.getVisibility() == View.VISIBLE) {
runOnUiThread(new Runnable() {
@Override
public void run() {
img.setVisibility(View.INVISIBLE);
}
});
}
}
};
https://stackoverflow.com/questions/55173579
复制相似问题