【发布时间】:2019-06-29 13:16:02
【问题描述】:
我有一个工作应用程序,从服务器下载图像,存储在本地,并每隔几秒以幻灯片形式显示在图像视图中。我想计算每个图像显示了多少次。我不确定如何解决这个问题。我应该制作 6 个计数器(每个图像一个)还是应该创建一个数组来存储图像名称和计数?但是如何更新呢?
任何帮助或代码 sn-ps 将不胜感激。
protected void onPostExecute(String s) {
super.onPostExecute(s);
imageView = findViewById(R.id.imgholder);
Timer mTimer = new Timer();
mTimer.schedule(new TimerTask() {
@Override
public void run() {
// As timer is not a Main/UI thread need to do all UI task on runOnUiThread
DashboardActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
// increase your position so new image will show
position++;
// check whether position increased to length then set it to 0
// so it will show images in circuler
if (position >= 6)
position = 0;
File file = new File(Environment.getExternalStorageDirectory(), user.fullName + "-" + position + ".jpg");
imgUri = Uri.fromFile(file);
Log.v("test", "Now Showing Image: " + imgUri.toString());
// Set Image
imageView.setImageURI(imgUri);
counter++;
Log.v("test","Image: "+ position +" has appeared: " +counter);
}
});
}
}, 0, DELAY_TIMER);
【问题讨论】:
-
来自服务器的图像数量是否固定?号码会变吗?还是您正在从服务器刷新图像?
-
图像数量是固定的。将下载 6 张图像。图像可能会从服务器更改,但它们将始终为 6。
-
每张图片都有唯一的id吗?
-
你应该有类似的东西来区分每个图像
-
@Antonio 是的,每个图像都有唯一的 ID。图像被命名为 0-5。
标签: java android arrays imageview