如何避免与布局视图相关的大量复制代码?

鲍曼

我目前正在做一个项目,我注意到我最终经常复制大块代码。我知道这不是人们应该怎么做,但我还没有找到更好的方法。大多数情况下,我只需要根据特定值将 ImageResource 设置为布局对象。如此重复25次,把img1改成img2之类的,真的很痛苦。有没有办法更正确、更快地做到这一点?请参阅下面的示例。

我的意思的一个小例子

    if(!b1){
        foobar = rewardrandom.nextInt(100)+1;
        if (foobar <= 40){
            r1= 0;
            img1.setImageResource(R.drawable.empty);
        }
        if (foobar > 40 && foobar <=70){
            r1= 1;
            img1.setImageResource(R.drawable.item1);
        }
        if (foobar > 70 && foobar<=90){
            r1= 2;
            img1.setImageResource(R.drawable.item2);
        }
        if (foobar > 90){
            r1= 3;
            img1.setImageResource(R.drawable.item3);
        }
    }
    if(!b2){
        foobar = rewardrandom.nextInt(100)+1;
        if (foobar <= 40){
            img2.setImageResource(R.drawable.empty);
            r2 = 0;
        }
        if (foobar > 40 && foobar <=70){
            img2.setImageResource(R.drawable.item1);
            r2 = 1;
        }
        if (foobar > 70 && foobar<=90){
            img2.setImageResource(R.drawable.item2);
            r2 = 2;
        }
        if (foobar > 90){
            img2.setImageResource(R.drawable.item3);
            r2 = 3;
        }
    }
穆罕默德·阿拉

你可以通过制作这样的方法来缩短它

private int yourMethodName (boolean condition, ImageView img, int r){
    if (!condition){
        foobar = rewardrandom.nextInt(100)+1;

        if (foobar <= 40){
            r = 0;
            img.setImageResource(R.drawable.empty);
        }
        if (foobar > 40 && foobar <=70){
            r = 1;
            img.setImageResource(R.drawable.item1);
        }
        if (foobar > 70 && foobar<=90){
            r = 2;
            img.setImageResource(R.drawable.item2);
        }
        if (foobar > 90){
            r = 3;
            img.setImageResource(R.drawable.item3);
        }
    }

    return r;
}

并像这样使用它

    r1 = yourMethodName(b1, img1, r1);
    r2 = yourMethodName(b2, img2, r2);
    r2 = yourMethodName(b3, img3, r3);
    // etc...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

gnuplot:如何避免与视角相关的半透明3D曲面?

来自分类Dev

如何避免与Helgrind产生误报?

来自分类Dev

如何避免与makedirs竞争的情况?

来自分类Dev

如何避免与ArangoDB中的AQL冲突?

来自分类Dev

避免代码复制

来自分类Dev

如何避免大量的If语句?

来自分类Dev

如何避免与离子中的所有离子混淆

来自分类Dev

如何避免使用多个构造函数复制代码?

来自分类Dev

如何避免使用多个构造函数复制代码?

来自分类Dev

以下示例中如何避免代码复制?C++/CUDA

来自分类Dev

如何避免在Django中基于函数的视图中重复代码?

来自分类Dev

如何在Swift中以编程方式复制视图?自动布局如何影响新创建的视图?

来自分类Dev

如何在Swift中以编程方式复制视图?自动布局如何影响新创建的视图?

来自分类Dev

Kotlin:大量的ConsPStack,如何避免?

来自分类Dev

Kotlin:大量的ConsPStack,如何避免?

来自分类Dev

避免与datagridview WPF重叠

来自分类Dev

避免与固定元素重叠

来自分类Dev

如何避免视图被处置

来自分类Dev

GeometryReader似乎正在更改使用其大小数据的视图的布局。如何避免这种情况?

来自分类Dev

比较循环中的元素。如何最好地避免与自我比较?

来自分类Dev

如何避免与Powershell 2.0一起使用“ ConvertTo-Json”?

来自分类Dev

如何避免与matplotlib.fill_between和哪里之间的差距

来自分类Dev

如何避免与BitmapFactory.decodeByteArray不一致的OutOfMemory异常?

来自分类Dev

如何避免与多个操作数产生的移位/减少冲突

来自分类Dev

如何正确配置ODataModelBuilder以避免与模型对象的虚拟属性冲突

来自分类Dev

如何避免与matplotlib.fill_between和哪里之间的差距

来自分类Dev

如何避免代码重复?

来自分类Dev

如何将布局从主视图复制到PowerPoint中的幻灯片中?

来自分类Dev

避免复制很多按钮的代码

Related 相关文章

  1. 1

    gnuplot:如何避免与视角相关的半透明3D曲面?

  2. 2

    如何避免与Helgrind产生误报?

  3. 3

    如何避免与makedirs竞争的情况?

  4. 4

    如何避免与ArangoDB中的AQL冲突?

  5. 5

    避免代码复制

  6. 6

    如何避免大量的If语句?

  7. 7

    如何避免与离子中的所有离子混淆

  8. 8

    如何避免使用多个构造函数复制代码?

  9. 9

    如何避免使用多个构造函数复制代码?

  10. 10

    以下示例中如何避免代码复制?C++/CUDA

  11. 11

    如何避免在Django中基于函数的视图中重复代码?

  12. 12

    如何在Swift中以编程方式复制视图?自动布局如何影响新创建的视图?

  13. 13

    如何在Swift中以编程方式复制视图?自动布局如何影响新创建的视图?

  14. 14

    Kotlin:大量的ConsPStack,如何避免?

  15. 15

    Kotlin:大量的ConsPStack,如何避免?

  16. 16

    避免与datagridview WPF重叠

  17. 17

    避免与固定元素重叠

  18. 18

    如何避免视图被处置

  19. 19

    GeometryReader似乎正在更改使用其大小数据的视图的布局。如何避免这种情况?

  20. 20

    比较循环中的元素。如何最好地避免与自我比较?

  21. 21

    如何避免与Powershell 2.0一起使用“ ConvertTo-Json”?

  22. 22

    如何避免与matplotlib.fill_between和哪里之间的差距

  23. 23

    如何避免与BitmapFactory.decodeByteArray不一致的OutOfMemory异常?

  24. 24

    如何避免与多个操作数产生的移位/减少冲突

  25. 25

    如何正确配置ODataModelBuilder以避免与模型对象的虚拟属性冲突

  26. 26

    如何避免与matplotlib.fill_between和哪里之间的差距

  27. 27

    如何避免代码重复?

  28. 28

    如何将布局从主视图复制到PowerPoint中的幻灯片中?

  29. 29

    避免复制很多按钮的代码

热门标签

归档