Java 无法恢复x和y位置
我刚刚开始学习如何为android编程,似乎无法获得当有人点击屏幕显示在log cat中时的x位置。当我点击屏幕时,如果这与任何事情有关,我会使用模拟器,但不会发生任何事情。这是我启动时的程序,没有错误。也使用相对布局Java 无法恢复x和y位置,java,android,eclipse,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; impo
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;
}
}
尝试使用Integer.toStringtouchX并返回false而不是true,除非您的代码看起来很好。 Emulator不注册触摸事件。
还有一个名为DDMS的实用程序,位于SDK的tools文件夹中。当模拟器运行时,使用此实用程序获取图形日志。您还可以过滤消息。您的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);
}
logcat提供了什么吗?谢谢你刚刚尝试添加视图,现在它工作得很好,顺便问一下,返回的值是否与普通像素一样?或在dpiInteger中,API中的像素值通常以实际像素为单位。