2013-12-07 2 views
0

У меня есть этот код, который, когда я нажимаю на одно из изображений, будет устанавливать значение 1. Тогда, если я снова нажму на одно и то же изображение, это уменьшит значение до 0. Кроме того, когда я нажимаю на два изображения, значение будет равно 2, представляющему каждое из изображений.Добавление значений на каждое нажатое изображение

Я пробовал опубликовать этот вопрос один раз, но все же ответ не похож на то, что я хочу. Я также попытался сделать переменную x и z глобальной переменной, но она не работает. Так ты можешь мне помочь. Спасибо

public void onClick(View v) 
    { 
     switch(v.getId()){ 
     case R.id.oneImgView: 
      images[0].setVisibility(View.GONE); 
      images[1].setVisibility(View.VISIBLE); 
      if(images[0].getVisibility() == View.GONE) 
      { 
       setValue(1); 
      } 
      display(); 
      break; 
     case R.id.twoImgView: 
      images[1].setVisibility(View.GONE); 
      images[0].setVisibility(View.VISIBLE); 
      if(images[1].getVisibility() == View.GONE) 
      { 
       setValue(-1); 
      } 
      display(); 
      break; 
     case R.id.threeImgView: 
      images[2].setVisibility(View.GONE); 
      if(images[2].getVisibility() == View.GONE) 
      { 
       setValue(1); 
      } 
      images[3].setVisibility(View.VISIBLE); 
      display(); 
      break; 
     case R.id.fourImgView: 
      images[3].setVisibility(View.GONE); 
      if(images[3].getVisibility() == View.GONE) 
      { 
       setValue(-1); 
      } 
      images[2].setVisibility(View.VISIBLE); 
      display(); 
      break; 
     } 
    } 

    public void display() 
    { 
     z =+ getValue(); 

     //if(z==1){ 
      //display.setImageResource(R.drawable.one);} 
      tView.setText(""+z);//} 
     } 


    public int getValue() { 
     int x=+value; 
     return x; 
    } 

    public void setValue(int value) { 
     this.value = value; 
    } 

} 
+0

Не могли бы вы объяснить немного больше? Что должно произойти? Как и проблема –

+0

@AdnanMulla проблема в том, что значение не увеличивается, когда я нажимаю на два изображения или больше. Значение равно 1. Как я могу заставить значение стать 2 или увеличиваться по мере того, как нажимается изображение? –

ответ

0

Это должно быть простым использованием 4 булевых переменных. Я установил все 4 переменные в true в начале, а затем на основании того, нажимают ли они в первый раз, или на втором я добавляю или вычитаю значение.

boolean img1=false; 
    boolean img2=false; 
    boolean img3=false; 
    boolean img4=false; 

    public void onClick(View v) 
{ 
    switch(v.getId()){ 
    case R.id.oneImgView: 
    if(img1){ 
     z =z+1; 
     img1 = false; 
    }else{ 
     z = z-1; 
     img1 = true; 
    } 
    case R.id.twoImgView : 
    if(img2){ 
     z =z+1; 
     img2 = false; 
    }else{ 
     z = z-1; 
     img2 = true; 
    } 
    case R.id.threeImgView: 
    if(img3){ 
     z =z+1; 
     img3 = false; 
    }else{ 
     z = z-1; 
     img3 = true; 
    } 
    case R.id.fourImgView : 
    if(img4){ 
     z =z+1; 
     img4 = false; 
    }else{ 
     z = z-1; 
     img4 = true; 
    } 

    } 

Это должно обработать количество изображений для вас, добавить любую другую логику, которая у вас есть! Надеюсь, это вам поможет.

+0

Спасибо, что поделились своим кодом. Но я до сих пор не понимаю, как я могу отобразить номер, как функция display() в моем коде выше –

+0

Я уже пробовал кодирование, и он не работает. Я не совсем уверен, где поставить кодировку, которую вы дали в мою кодировку. Можете ли вы помочь мне снова, сэр, спасибо –

Смежные вопросы