动态更改图像视图背景

tej*_*jas 4 android imageview

我的布局中有一组10个图像视图.我已经给它们顺序id了

android:id="@+id/pb1"

android:id="@+id/pb2"
Run Code Online (Sandbox Code Playgroud)

现在我想动态更改背景.

    int totalPoi = listOfPOI.size();
    int currentPoi = (j/totalPoi)*10;
    for (i=1;i<=currentPoi;i++) {
          imageview.setBackgroundResource(R.drawable.progressgreen);
}
Run Code Online (Sandbox Code Playgroud)

现在在for循环中我想动态设置图像视图背景.i,e如果currentpoi值为3,则应更改3个图像视图的背景.for循环迭代的次数应该改变许多图像视图的背景.希望现在问题很明确.

注意:我只有1个图像progressgreen需要设置为10个图像视图

tej*_*jas 6

最后我用以下方式做到了这一点,

我将所有id放在数组中

int[] imageViews = {R.id.pb1, R.id.pb2,R.id.pb3,R.id.pb4,R.id.pb5,R.id.pb6,R.id.pb7,R.id.pb8,R.id.pb9,R.id.pb10};
Run Code Online (Sandbox Code Playgroud)

现在:

int pindex = 0;

for (pindex; pindex <currentPoi; pindex++) {

    ImageView img = (ImageView) findViewById(imageViews[pindex]) ;
    img.setImageResource(R.drawable.progressgreen);
}
Run Code Online (Sandbox Code Playgroud)

现在,我可以动态更改图像.

@ goto10.谢谢你的帮助.我会调试你的观点,看看我身边出了什么问题