如何进去onTouchEvent(MotionEvent事件)在​​android系统的ImageView [英] How to get imageView inside onTouchEvent(MotionEvent event) in android

查看:159
本文介绍了如何进去onTouchEvent(MotionEvent事件)在​​android系统的ImageView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我定义onTouchEvent(MotionEvent事件),以接收ImageView的触摸事件。我使用多个imageviews,我必须找到它的ImageView我收到触摸事件。
是否有可能进去onTouchEvent ImageView的?

 公共无效createImageViews()
{
  INT I = 0;  imageArray [0] =(ImageView的)findViewById(R.id.image1);
  imageArray [1] =(ImageView的)findViewById(R.id.image2);
  imageArray [2] =(ImageView的)findViewById(R.id.image3);
  imageArray [3] =(ImageView的)findViewById(R.id.image4);
  imageArray [4] =(ImageView的)findViewById(R.id.image5);
  imageArray [5] =(ImageView的)findViewById(R.id.image6);  对于(i = 0; I<计数;我++)
  {
    imageArray [I] .setOnTouchListener(本);
  }
}
 公共类触摸扩展活动实现OnTouchListener,AnimationListener {}

我已经尝试使用

 公共布尔onTouch(视图V,MotionEvent事件){},但没有收到触摸事件。

开始对ImageView的动画我没有观察到onTouch触摸事件()和获取触摸事件的onTouchEvent()之后。 imgArray [g_animCount] .startAnimation(movArray [g_animCount]);


解决方案

 使用下面的示例code段::::    公共类MyImageView扩展活动实现OnTouchListener {
    @覆盖
    保护无效的onCreate(捆绑savedInstanceState){
        // TODO自动生成方法存根
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.lay_name);
        INT I = 0;
        imageArray [0] =(ImageView的)findViewById(R.id.image1);
        imageArray [1] =(ImageView的)findViewById(R.id.image2);
        imageArray [2] =(ImageView的)findViewById(R.id.image3);
        imageArray [3] =(ImageView的)findViewById(R.id.image4);
        imageArray [4] =(ImageView的)findViewById(R.id.image5);
        imageArray [5] =(ImageView的)findViewById(R.id.image6);        对于(i = 0; I<计数;我++){
            imageArray [I] .setOnTouchListener(本);
         }
    }    @覆盖
    公共布尔onTouch(视图V,MotionEvent事件){
        // TODO自动生成方法存根
        开关(v.getId()){
        案例R.id.image1:
        //你的东西
        打破;
        案例R.id.image2:
        //你的东西
        打破;
        案例R.id.image3:
        //你的东西
        打破;
        案例R.id.image4:
         //你的东西
        打破;
        案例R.id.image5:
         //你的东西
        打破;
        案例R.id.image6:
         //你的东西
        打破;
        }
    }

}

I defined onTouchEvent(MotionEvent event) to receive touch events for imageview. I am using multiple imageviews and i have to find for which imageview I have received touch event. Is it possible to get imageview inside onTouchEvent?

public void createImageViews()
{
  int i = 0;

  imageArray[0] = (ImageView)findViewById(R.id.image1);
  imageArray[1] = (ImageView)findViewById(R.id.image2);
  imageArray[2] = (ImageView)findViewById(R.id.image3);
  imageArray[3] = (ImageView)findViewById(R.id.image4);
  imageArray[4] = (ImageView)findViewById(R.id.image5);
  imageArray[5] = (ImageView)findViewById(R.id.image6);

  for (i = 0; i < count; i++)
  {
    imageArray[i].setOnTouchListener(this);
  } 
}
 public class Touch extends Activity implements OnTouchListener, AnimationListener { }

I have tried using

 public boolean onTouch(View v, MotionEvent event) { } but not receiving the touch events.

After starting the animation on imageview I did not observe touch events in onTouch() and getting touch events in onTouchEvent() . imgArray[g_animCount].startAnimation(movArray[g_animCount]);

解决方案

use the below sample code snippet::::

    public class MyImageView extends Activity implements OnTouchListener{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lay_name);        
        int i = 0;
        imageArray[0] = (ImageView)findViewById(R.id.image1);
        imageArray[1] = (ImageView)findViewById(R.id.image2);
        imageArray[2] = (ImageView)findViewById(R.id.image3);
        imageArray[3] = (ImageView)findViewById(R.id.image4);
        imageArray[4] = (ImageView)findViewById(R.id.image5);
        imageArray[5] = (ImageView)findViewById(R.id.image6);

        for (i = 0; i < count; i++)  {
            imageArray[i].setOnTouchListener(this);
         } 


    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        switch(v.getId()){
        case R.id.image1:
        //your stuff
        break;
        case R.id.image2:
        //your stuff        
        break;
        case R.id.image3:
        //your stuff
        break;
        case R.id.image4:
         //your stuff
        break;
        case R.id.image5:
         //your stuff
        break;
        case R.id.image6:
         //your stuff
        break;
        }
    }

}

这篇关于如何进去onTouchEvent(MotionEvent事件)在​​android系统的ImageView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆