Как создать отдельный класс для addOnGesturePerformedListener - PullRequest
0 голосов
/ 15 сентября 2011

хай все это мой код

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");
            }
    }
    }
};

}

Теперь мне нужно создать отдельный класс для прослушивателя жестов (OnGesturePerformedListener). Пожалуйста, укажите мне, как создать новый класс, как этот, и как вызывать этот класс для метода oncreate, пожалуйста, укажите, что я новичок в android и java. 1006 *

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");
            }
    }
    }
};

}

1 Ответ

1 голос
/ 15 сентября 2011

попробуйте так

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");
            }
    }     
}

и создайте объект таким образом.

MyGestureHandler myHandler = new MyGestureHandler();
gestures.addOnGesturePerformedListener(myHandler);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...