2012-02-28 78 views
0

为什么不采用onTouch方法?我使用实现onTouchListener的Activity,同时我也有android:onClick = ObjectClick,在我的xml中ObjectClick处理视图的点击。我只是使用onTouch获取x,y但它不会去ontouch函数onTouch无法正常工作?

public class GamePlayActivity extends Activity implements View.OnTouchListener { 

    int click_Locn_x=1,click_Locn_y=1; 

// onCreate function is also there ..... 


public void objectClick(View objectClicked) 
    { 
     Toast msg; 
     int [] locationOfViewInScreen=new int[2]; 

     int Object = objectClicked.getId(); 
     View img= (View)findViewById(Object); 
     img.getLocationOnScreen(locationOfViewInScreen); 
     Log.d("Check:","locn of Image" + locationOfViewInScreen[0]+ " "+ locationOfViewInScreen[1]); 

     Log.d("Check:","locn of click" + click_Locn_x + " "+ click_Locn_y);  

    } 


@Override 
    public boolean onTouch(View v, MotionEvent event) { 
     // TODO Auto-generated method stub 
     Log.d("Check"," I am in onTouch Event "); 
     click_Locn_x = (int)event.getX(); 
     click_Locn_y = (int)event.getY(); 

     return true; 
    } 
+0

显示你在哪里添加onTouchListener。 – 2012-02-28 13:21:44

+0

@appserv:我已经在xml中添加了android:onClick:“onTouch” – user1201239 2012-02-29 08:01:54

回答

0

只需手动setOnTouchListener(this)。在xml中,您不需要设置侦听器,只需传递方法名称即可。

1

你忘了img.setOnTouchListener(this)bjectClick()

+0

但是,它会在onClick里面,就像它会先onClick然后onTouch一样,但是我希望值只能在onClick上做所有事情 – user1201239 2012-02-29 08:09:16

+0

最好的地方它是onCreate(),你只需要添加一次监听器 – 2012-02-29 11:27:47