2013-10-22 14 views
0

當我單擊屏幕時,需要執行圖像更換。setOnTouchListener時編程更改圖像

利用該:

image.setOnTouchListener(new View.OnTouchListener() { 
       @Override 
       public boolean onTouch(View view, MotionEvent motionEvent) { 
        image.setImageResource(R.drawable.image_1); 
        return false; 
       } 
      }); 

我有另一個圖像,5或6,並且我想改變到另一個時,我點擊與上述代碼的圖像。我怎麼能做到這一點,當我點擊屏幕imageview更改爲下一個?

我可以做到這一點,如果我有一個櫃檯,但我認爲這不是最好的解決方案。

+0

您有什麼問題? –

+0

我想製作 tutorial_images.setImageResource(R.drawable.image_2); tutorial_images.setImageResource(R.drawable.image_3); tutorial_images.setImageResource(R.drawable.image_4); ... on the same setOnClickListener – MAOL

+0

在ontouch中返回true –

回答

1

使用此代碼:

int clicked = 0 ; 

    images.setOnTouchListener(new View.OnTouchListener() { 

    @Override 
    public boolean onTouch(View view, MotionEvent motionEvent) { 
     switch (MotionEventCompat.getActionMasked(motionEvent)) { 
      case MotionEvent.ACTION_UP: 
         clicked++; 
         break; 
      case MotionEvent.ACTION_DOWN: 

         if(clicked == 1){ 
          images.setImageResource(R.drawable.images_1); 
         }else if(clicked == 2){ 
          images.setImageResource(R.drawable.images_2); 
         }else if(clicked == 3){ 
          images.setImageResource(R.drawable.images_3); 
         }else if(clicked == 4){ 
          images.setImageResource(R.drawable.images_4); 
         }else if(clicked == 5){ 
          dialog.dismiss(); 
         } 
         return true; 
         break; 
      } 
    } 
} 
+0

這很有用。謝謝。 – MAOL

+0

你總是歡迎:) –

0

我做了下,但我不知道是否有其他posibility:

images.setOnTouchListener(new View.OnTouchListener() { 
       int clicked = 1; 
       @Override 
       public boolean onTouch(View view, MotionEvent motionEvent) { 
        if(clicked == 1){ 
         images.setImageResource(R.drawable.images_1); 
        }else if(clicked == 2){ 
         images.setImageResource(R.drawable.images_2); 
        }else if(clicked == 3){ 
         images.setImageResource(R.drawable.images_3); 
        }else if(clicked == 4){ 
         images.setImageResource(R.drawable.images_4); 
        }else if(clicked == 5){ 
         dialog.dismiss(); 
        } 
        clicked++; 
        return false; 
       } 
      }); 
+0

這不應該作爲答案。編輯你的問題 –

+0

你想觸摸或點擊事件? –

+0

觸摸或點擊有什麼不同? – MAOL