gpt4 book ai didi

java - 手势检测器不工作

转载 作者:行者123 更新时间:2023-12-01 19:19:20 25 4
gpt4 key购买 nike

我有一组java代码,我尝试检测用户的触摸手势。当用户进行简单的触摸/向下滑动等操作时, TextView 将显示用户当前所做的操作。但是,当我在模拟器上运行代码时,它只是一个黑屏,显示 Hello World!当我触摸时,没有任何显示。为什么会这样?附件是代码。感谢您的帮助...

package org.tp.iit.cds.BrailleTypeSend;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.view.MotionEvent;
import android.view.GestureDetector.OnGestureListener;
import android.view.GestureDetector;
import android.widget.TextView;
import android.graphics.Color;


public class BrailleSend extends Activity implements OnGestureListener {
/** Called when the activity is first created. */
public LinearLayout main;
public TextView viewA;

public GestureDetector gestureScanner;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gestureScanner = new GestureDetector(this);

main = new LinearLayout(this);
main.setBackgroundColor(Color.GRAY);
main.setLayoutParams(new LinearLayout.LayoutParams(320,480));

viewA = new TextView(this);
viewA.setBackgroundColor(Color.YELLOW);
viewA.setTextColor(Color.WHITE);
viewA.setTextSize(16);
viewA.setLayoutParams(new LinearLayout.LayoutParams(320,80));
main.addView(viewA);

setContentView(R.layout.main);
}

@Override
public boolean onDown(MotionEvent e) {
viewA.setText("Down Stroke");
return true;
}

@Override
public boolean onSingleTapUp(MotionEvent e) {
viewA.setText("tap");
return true;
}

}

最佳答案

三件事:

  • 您使用此代码所做的就是在堆上创建一堆对象并设置一些属性。您创建的这些 View 对象甚至不会附加到 View 层次结构中。
gestureScanner = new GestureDetector(this);
main = new LinearLayout(this);
main.setBackgroundColor(Color.GRAY);
main.setLayoutParams(new LinearLayout.LayoutParams(320,480));
viewA = new TextView(this);
viewA.setBackgroundColor(Color.YELLOW);
viewA.setTextColor(Color.WHITE);
viewA.setTextSize(16);
viewA.setLayoutParams(new LinearLayout.LayoutParams(320,80));
main.addView(viewA);
  • 您的 Activity 的 View 层次结构来自布局文件夹中的 main.xml 文件,因为您在代码中编写了:setContentView(R.layout.main);

  • 您尚未将 GestureListener 附加到任何东西。您期望如何调用回调?

关于java - 手势检测器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5063097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com