有没有更简单的方法可以编写以下要求并压缩代码?

时间:2018-09-07 06:54:26

标签: android

我做了一个自定义的底部栏。它有五个图像。选择特定图像时,片段将打开,并且所选图像将变为蓝色。其余的将保持黑色。  所以我现在要做的是

  

img1,img2,img3,img4,img5

因此,我将点击监听器设置为

     @Override
    public void onClick(View view) {
        try {
            switch (view.getId()) {
                case R.id.img1:
// Set background image as blue to img1 and set //black for others
                    break;
                case R.id.img2:
// Set background image as blue to img2 and set //black for others including the previous one
                    break;
                case R.id.img3:
                    break;
                case R.id.img4:
                    break;
                case R.id.img5:
                    break;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

因此,我一次又一次地执行重复步骤。我可以将此代码压缩为较短的代码吗,例如将先前的图像存储在视图中并为当前图像着色?简而言之,压缩此代码的最佳方法是什么?

谢谢:)

1 个答案:

答案 0 :(得分:2)

您可以在try句子之前将所有图像的背景颜色设置为黑色,然后仅将选择的图像的背景设置为蓝色:

@Override
public void onClick(View view) {
    //Set black background for all the imags
    try {
        switch (view.getId()) {
            case R.id.img1:
                // Set background image as blue to img1 for others
                break;