无法触及x和y位置

时间:2011-09-12 22:14:09

标签: java android eclipse

我刚开始学习如何为Android编程,当有人点击屏幕显示在log cat中时,似乎无法获得x位置。 (我使用模拟器,如果这与任何事情有关),当我点击屏幕没有任何反应。这是我的启动程序,我没有错误。也使用相对布局

package com.practice;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;


public class PracticeActivity extends Activity implements OnTouchListener{


    int touchX;
    int touchY;


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        onTouchEvent(event);
        touchX = (int) event.getX();
        touchY = (int) event.getY(); 

        Log.d( "MOUSE", String.valueOf(touchX) );


        return true;
    }



}

2 个答案:

答案 0 :(得分:0)

尝试使用Integer.toString(touchX)并返回false而不是true,除了你的代码似乎没问题。 模拟器会注册触摸事件。 还有一个名为DDMS的实用程序,位于SDK的tools文件夹中。当您的模拟器运行时,使用此实用程序来获取图形logcat。您也可以过滤消息。

答案 1 :(得分:0)

在向视图注册之前,不会调用OnTouchListener。例如:

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Find a view in the layout
    View view = findViewById(android.id.content);

    // register the listener
    view.setOnTouchListener(this);
}