Android 在逻辑问题上需要帮助吗

Android 在逻辑问题上需要帮助吗,android,button,onclicklistener,Android,Button,Onclicklistener,根据我的设计,我有6个按钮,在这些按钮之上有2个方形布局,就像一个空盒子 按钮代表每种颜色和一组双值 例如: 5.0=>棕色btn 25.0=>红色btn 50.0=>黑色btn 75.0=>蓝色btn 100.0=>紫罗兰色btn 200.0=>绿色btn 当用户点击一个按钮并点击任意一个空框时,该框将被相应的双精度值填充。例如,我将在每个步骤中解释这一点: 如果用户点击25个红色按钮并点击任何一个框,框中就会充满25个文本和背景中的红色。 如果用户再次点击同一个框,值将增加到5025+25,

根据我的设计,我有6个按钮,在这些按钮之上有2个方形布局,就像一个空盒子

按钮代表每种颜色和一组双值

例如:

5.0=>棕色btn 25.0=>红色btn 50.0=>黑色btn 75.0=>蓝色btn 100.0=>紫罗兰色btn 200.0=>绿色btn 当用户点击一个按钮并点击任意一个空框时,该框将被相应的双精度值填充。例如,我将在每个步骤中解释这一点:

如果用户点击25个红色按钮并点击任何一个框,框中就会充满25个文本和背景中的红色。 如果用户再次点击同一个框,值将增加到5025+25,这里我需要背景色为黑色,因为50代表黑色 现在,如果用户单击5brown按钮并点击填充黑色的框,该值将增加到5550+5,但颜色必须仅为黑色。 现在,如果用户开始点击同一个框,该值将递增为+5,直到该值达到75。背景色为黑色,正好从75开始,它必须为蓝色 在这两者之间,如果用户点击第二个框,它必须填充最后被点击的按钮的颜色。 现在我可以根据点击的按钮增加值并填充框上的ht颜色,我想知道当值增加时如何填充颜色


如何做到这一点?

我在这里假设您只是在寻找逻辑提示

维护一个类变量lastVal。最初将其值设置为-1

可以维护包含框值的数组

每当用户单击一个框时,就用lastVal增加数组中的框值

这是一个简单的类…这不是一个完整的类,只是对我要解释的内容的引用

public class MyClass{

    int lastVal = -1;
    int boxVal[10];
    View box[10];

    void handleColorClick(int keyVal)
    {
        lastVal = keyVal;

    }


    void handleBoxClick(int index)
    {
       boxVal[index] += lastVal;
       setBoxBackground(index)


    }

    void setBoxBackground(int index)
    {
       //check if the box color is matching any fixed color then set the background here
    }


}

最后我通过这种方式得到了解决方案

Iterator<Integer> iter = values.iterator();
         int small=0 , bigger=0;
         while (iter.hasNext())
         {
             Integer currElement = iter.next();
             if (z.compareTo(currElement) > -1)
             {
                 small = currElement;
             }
             else
             {
                 bigger = currElement;
             }            
         }

         System.out.println("small "+small);
         System.out.println("biggest "+bigger);

         for(int i=0; i< values.size(); i++)
         {
             if(small == values.get(i))
             {
                if(i == 0)
                 {
                     Log.i("", "brwon");
                     break;
                 }
                 else if(i == 1)
                 {
                     Log.i("", "red");
                     break;
                 }
                 else if(i == 2)
                 {
                     Log.i("", "black");
                     break;
                 }
                 else if(i == 3)
                 {
                     Log.i("", "blue");
                     break;
                 }
                 else if(i == 4)
                 {
                     Log.i("", "violet");
                     break;
                 }
                 else if(i == 5)
                 {
                     Log.i("", "green");
                     break;
                 }
             }
         }