我正在尝试获得触摸屏功能。我想根据是否执行一些操作
用户向上或向下触摸屏幕。

这是我的代码

public class Sankhyaki extends Activity  implements OnTouchListener, OnKeyListener  {

float x = 0, y = 0;

public static final String TAG="Sankhayaki";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sankhyaki);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_sankhyaki, menu);
    return true;
}

public boolean onTouch(View v, MotionEvent me)
{

    x = me.getX();
    y = me.getY();


    switch ( me.getAction()) {
    case MotionEvent.ACTION_DOWN:
        System.out.println("\n ACTION DOWN");
        Log.i(TAG, "DOWN");
        Log.i(TAG,"DOWN");
        Log.i(TAG, "x = " + x + "y = " + y );
        break;

    case MotionEvent.ACTION_UP:
    System.out.println("\n ACTION UP");
        Log.i(TAG, "UP");
        Log.i(TAG, "x = " + x + "y = " + y );


        break;

    case MotionEvent.ACTION_MOVE:
    System.out.println("\n ACTION MOVE");
        Log.i(TAG, "MOVE");
        Log.i(TAG, "x = " + x + "y = " + y );
        break;

    }


    return false;
 }

}


在模拟器上运行时,当我单击屏幕时
在LogCat或控制台中看不到任何消息。我不确定自己做错了什么。
只是因为我在Logcat或控制台中看不到任何日志消息,
 看起来控制权并没有在开关的情况下。

我无法验证自己是否做对了。

我只想在开关盒中放更多代码
确保控制权在此处未发生的开关情况下进行,

这里的任何信息都会有所帮助。

最佳答案

您必须将活动注册为侦听器。首先,在您的XML布局文件中,您需要一个用于根视图的ID:android:id =“ @ + id / your_view”

在您的onCreate()方法中,编写以下代码:

View v=findViewById(R.id.your_view);
v.setOnTouchListener(this);

07-28 04:20