Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为AddOnTesturePerformedListener创建单独的类_Java_Android_Android Ndk - Fatal编程技术网

Java 如何为AddOnTesturePerformedListener创建单独的类

Java 如何为AddOnTesturePerformedListener创建单独的类,java,android,android-ndk,Java,Android,Android Ndk,所有这些都是我的密码 private GestureLibrary gLib; private static final String TAG = "com.hascode.android.gesture"; protected static final TextWatcher watcher = null; private EditText et1; private EditText et2, et; // int dec = et.getText().toString().length(

所有这些都是我的密码

private GestureLibrary gLib;
private static final String TAG = "com.hascode.android.gesture";
protected static final TextWatcher watcher = null;

private EditText et1;
private EditText et2, et;

// int dec = et.getText().toString().length()-1;

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

    et1 = (EditText) findViewById(R.id.editText1);
    et2 = (EditText) findViewById(R.id.editText2);
    et = et1;
    gLib = GestureLibraries.fromRawResource(this, R.raw.gestures);

    // glip1 = GestureLibraries.fromRawResource(this, R.raw.gestures1);

    if (!gLib.load()) {
        Log.w(TAG, "could not load gesture library");
        finish();
    }
    GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
    gestures.addOnGesturePerformedListener(handleGestureListener);
}

/**
 * our gesture listener
 */
private OnGesturePerformedListener handleGestureListener = new OnGesturePerformedListener() {
    @Override
    public void onGesturePerformed(GestureOverlayView gestureView,
            Gesture gesture) {

        ArrayList<Prediction> predictions = gLib.recognize(gesture);
        // ArrayList<Prediction> predictions1 = glip1.recognize(gesture);
        Toast.makeText(gestureinput.this,
                predictions.get(0).name + " " + predictions.get(0).score,
                Toast.LENGTH_SHORT).show();

        // one prediction needed
        if (predictions.size() > 0 && predictions.get(0).score > 2.0) {
            String prediction = predictions.get(0).name;
            // checking prediction

            if (prediction.equals("A")) {
                // and action
                et.append("A");

                // et.getText().insert(et.getSelectionStart(), "A");
            }
    }
    }
};
private-gesturebrary-gLib;
私有静态最终字符串TAG=“com.hascode.android.手势”;
受保护的静态最终TextWatcher watcher=null;
私人编辑文本et1;
私人编辑文本et2,et;
//int dec=et.getText().toString().length()-1;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et1=(EditText)findViewById(R.id.editText1);
et2=(EditText)findViewById(R.id.editText2);
et=et1;
gLib=GestureLibraries.fromRawResource(this,R.raw.bigests);
//glip1=GestureLibraries.fromRawResource(this,R.raw.gestures1);
如果(!gLib.load()){
Log.w(标记“无法加载手势库”);
完成();
}
GestureOverlayView手势=(GestureOverlayView)findViewById(R.id.birters);
手势。添加测试性能监听器(HandleTestureListener);
}
/**
*我们的手势听众
*/
private OnTesturePerformedListener HandleTestureListener=新建OnTesturePerformedListener(){
@凌驾
已执行的测试的公共无效(GestureOverlayView gestureView,
(手势){
ArrayList预测=油嘴滑舌的识别(手势);
//ArrayList predictions1=glip1.识别(手势);
Toast.makeText(gestureinput.this,
预测。获取(0)。名称+“”+预测。获取(0)。分数,
吐司。长度(短)。show();
//需要一个预测
if(predictions.size()>0&&predictions.get(0).score>2.0){
字符串预测=预测.get(0).name;
//检验预测
if(预测等于(“A”)){
//和行动
等附加(“A”);
//et.getText().insert(et.getSelectionStart(),“A”);
}
}
}
};
}

现在我需要为手势监听器创建单独的类(OnGeturePerformedListener)请任何人指导我如何创建这样的新类以及如何为oncreate方法调用该类请指导我我是android和java新手

private OnGesturePerformedListener handleGestureListener = new OnGesturePerformedListener() {
    @Override
    public void onGesturePerformed(GestureOverlayView gestureView,
            Gesture gesture) {

        ArrayList<Prediction> predictions = gLib.recognize(gesture);
        // ArrayList<Prediction> predictions1 = glip1.recognize(gesture);
        Toast.makeText(gestureinput.this,
                predictions.get(0).name + " " + predictions.get(0).score,
                Toast.LENGTH_SHORT).show();

        // one prediction needed
        if (predictions.size() > 0 && predictions.get(0).score > 2.0) {
            String prediction = predictions.get(0).name;
            // checking prediction

            if (prediction.equals("A")) {
                // and action
                et.append("A");

                // et.getText().insert(et.getSelectionStart(), "A");
            }
    }
    }
};
private OnGeturePerformedListener HandleGetureListener=new OnGeturePerformedListener(){
@凌驾
已执行的测试的公共无效(GestureOverlayView gestureView,
(手势){
ArrayList预测=油嘴滑舌的识别(手势);
//ArrayList predictions1=glip1.识别(手势);
Toast.makeText(gestureinput.this,
预测。获取(0)。名称+“”+预测。获取(0)。分数,
吐司。长度(短)。show();
//需要一个预测
if(predictions.size()>0&&predictions.get(0).score>2.0){
字符串预测=预测.get(0).name;
//检验预测
if(预测等于(“A”)){
//和行动
等附加(“A”);
//et.getText().insert(et.getSelectionStart(),“A”);
}
}
}
};
}

试试这种方法

class MyGestureHandler implements OnGesturePerformedListener{
    @Override
    public void onGesturePerformed(GestureOverlayView gestureView,
            Gesture gesture) {

        ArrayList<Prediction> predictions = gLib.recognize(gesture);
        // ArrayList<Prediction> predictions1 = glip1.recognize(gesture);
        Toast.makeText(gestureinput.this,
                predictions.get(0).name + " " + predictions.get(0).score,
                Toast.LENGTH_SHORT).show();

        // one prediction needed
        if (predictions.size() > 0 && predictions.get(0).score > 2.0) {
            String prediction = predictions.get(0).name;
            // checking prediction

            if (prediction.equals("A")) {
                // and action
                et.append("A");

                // et.getText().insert(et.getSelectionStart(), "A");
            }
    }     
}

非常感谢您的回复,工作很酷,但我无法访问ArrayList predictions=gLib.recognize(手势);和等附加(“A”);这些局部变量在主要活动中…我如何访问该GestureLibrary并编辑该类中的文本..将该类创建为内部类或将gLib声明为Public,当答案或问题有用或良好或/脱离主题/模糊等时,您应接受或给予+1/-1分。
MyGestureHandler myHandler = new MyGestureHandler();
gestures.addOnGesturePerformedListener(myHandler);