【问题标题】:How to use few drawable images in unlimited length of listview?如何在无限长度的列表视图中使用少量可绘制图像?
【发布时间】:2018-07-29 19:58:35
【问题描述】:

我有 3 张可绘制图像,并且由于难以将巨大的图像文件存储在可绘制的列表视图中以获得无限长度的列表视图,因此我想重复或随机地将这三幅图像用于整个列表视图。为了更清楚..

  1. 提交第3个数据后,我想要第4个数据的第1个图像,第5个数据的第2个图像,第6个数据的第3个图像一次又一次。 好像..

----------> 第一个数据的第一个图像

第二张图片用于 ----------> 第二个数据

第三张图片用于 ----------> 第三条数据

第一张图片用于 ----------> 第四条数据

第二张图片用于 ----------> 第五条数据

第三张图片用于 ----------> 第六条数据

.................................................. ....

.................................................. ....

第 100 条数据的第一张图片

.................................................. ....

.................................................. ....

如果可能的话,依此类推或随机。

我想我必须使用循环和必要条件来解决这个问题。但是不知道怎么过。任何人都可以通过实现必要的代码来帮助我解决这个问题吗?

【问题讨论】:

    标签: android listview android-imageview android-drawable custom-lists


    【解决方案1】:

    一些改进您的解决方案的建议。

    您可以简单地获取 mod (%) 运算符的结果并将其用于您的索引。

    images[index] = images[index % 3]; 
    

    这将返回0, 1, or 2 并为您获得正确的图像,您无需进行任何比较。

    如果你想做随机图片,那也很简单。

    首先,在循环之前创建一个新的 Random 对象。

    Random random = new Random(); 
    

    接下来,在您的循环中,您希望获得一个介于 0 和 2 之间的随机值。我们将 2 作为我们的上限。

    images[index] = images[random.nextInt(2)];
    

    【讨论】:

    • 我已经解决了我的问题。顺便说一句,我认为第一个条件可以多次接收相同的图像。是的,第二个更适合随机生成。谢谢你的配合。 :)
    • 第一个使用 mod 的示例将为您提供您正在寻找的图像的 1、2、3、1、2、3... 模式,而无需执行任何 if 语句。
    • 是的,我只是错过了某个地方。 :D 谢谢!
    【解决方案2】:

    ===================条件更新====================

    哦,我刚刚解决了这个问题:D。这就是我所做的。

    // 从我已经存储的drawable中将图像保存在int类型数组中。

    images[0] = R.drawable.amin1;
    
    images[1] = R.drawable.amin2;
    
    images[2] = R.drawable.amin3;
    

    // 现在点击提交按钮时添加条件

    if(index > 2)
    
    {
    
    if(index%3 == 0) { images[index] = images[0]; }
    
    else if(index%2 == 0) { images[index] = images[1]; }
    
    else { images[index] = images[2]; } 
    
    }
    

    这很简单。 :)

    【讨论】:

      猜你喜欢
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多