android - 为什么 setImageResource 需要不同的数组来打印图像以及图像中的剩余部分如何工作?
问题描述
package com.example.imageview;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private static ImageView saadaimageview;
private static Button saadabutton;
private static int currentimageindex;
int[] naviimages = {
R.drawable.hhsd,
R.drawable.second,
R.drawable.third
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
saadaimagelistener();
}
public void saadaimagelistener() {
saadaimageview = (ImageView) findViewById(R.id.ourfirstimage);
saadabutton = (Button) findViewById(R.id.button);
saadabutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentimageindex++;
currentimageindex = currentimageindex % naviimages.length;
saadaimageview.setImageResource(naviimages[currentimageindex]);
}
});
}
}
请解释上面的代码当前图像索引,它是如何工作的?
解决方案
你有一个可绘制数组:
int[] naviimages = {
R.drawable.hhsd,
R.drawable.second,
R.drawable.third
};
每点击一次saadButton
,currentimageindex
增加1
currentimageindex++;
currentImageIndex
取其余部分的值currentimageindex
除以可绘制对象的长度array
currentimageindex = currentimageindex % naviimages.length;
例子 :
currentimageindex = 1;
和naviimages.length = 3
然后 :
currentimageindex
将需要 1(剩下的 1 / 3)
所以saadaimageview
将R.drawable.hhsd
作为图像资源
推荐阅读
- c# - 接口内的变量,还是向各种类添加/需要变量的替代方法?
- debugging - VSCode 中 NPM Google Cloud 包的源映射问题
- common-lisp - 如何在 common lisp 中创建位数组?
- python - 将 Numpy 数组分配给变量
- flutter - Firestore 更改未与流生成器同步
- python - 带有 lru_cache 的斐波那契数列函数不显示所有斐波那契数
- scrapy - Scrapy:如何在 100 个请求后停止 CrawlSpider
- php - 多个服务中的常见依赖项
- php - 从 PHP 中的顺序数组创建嵌套数组
- node.js - Conda 无法识别我已安装节点?