0

私はかなり単純な問題を抱えていると思います.なぜそれが実際に問題なのか本当に理解していません:(いくつかの画像をクレートし、それらをテーブルに追加します. 1 回、プログラムがクラッシュします (最初に removeView() を呼び出さなければならないと言われましたが、実際にはそうしたくありませんよね?)。

コードは、特定の測定値に適合する画像を選択します。常に4つの画像を追加します。場合によっては、値が類似している場合もあります。その場合、1 つの画像が複数回必要になることがあります。

    ImageView imgGreen = new ImageView(this);
    ImageView imgYellow = new ImageView(this);        
    ImageView imgOrange = new ImageView(this);        
    ImageView imgRed = new ImageView(this);

    // allocate Images
    imgGreen.setImageResource(R.drawable.green);
    imgYellow.setImageResource(R.drawable.yellow);  
    imgOrange.setImageResource(R.drawable.orange);
    imgRed.setImageResource(R.drawable.red);

    // add Images
    for(int i = 0; i < 4; i++){
        switch(controller.array[1][i])
        {
            case 0: row.addView(imgGreen);  
                    break;
            case 1: row.addView(imgYellow);  
                    break;
            case 2: row.addView(imgOrange);   
                    break;
            case 3: row.addView(imgRed); 
                    break;      
            default: row.addView(imgRed);
                    break;
        }
    }

どんな助けでも大歓迎です:)事前に感謝します!

よろしく

4

2 に答える 2

0

誰かが興味を持っている場合は、ここで適切なソリューション:

    for(int i = 0; i < 4; i++){
        ImageView img = new ImageView(this);
        switch(controller.array[1][i])
        {
        case 0:
            img.setImageResource(R.drawable.green);
            break;
        case 1:
            img.setImageResource(R.drawable.yellow);
            break;
        case 2:
            img.setImageResource(R.drawable.orange);
            break;
        case 3:
            img.setImageResource(R.drawable.red);
            break;
        default:
            img.setImageResource(R.drawable.red);
            break;
        }
        row.addView(img);
    }

以前よりもコードがさらに少なくなりました:)

よろしく

于 2013-11-15T12:20:36.577 に答える