使用OnTouchListener创建多个实例,而OnClickListener创建无

时间:2017-02-08 15:20:08

标签: java android android-intent onclicklistener ontouchlistener

我正在尝试为Google地方调用PlaceAutocomplete.IntentBuilder

当我使用

myTextField.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startPlaceLookup();
            }
        });
    }

未创建任何实例且永远不会触发意图。

当我使用

myTextField.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                startPlaceLookup();
                return false; //OR TRUE
            }
        });

创建了多个意图(5-10)。

以下是Intent的创建方式:

 private void startPlaceLookup() {
        Log.i(TAG, "Start Place Lookup");
        try {
            Log.i(TAG, "Trying Intent");
            Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN).build(NewCallActivity.this);
            startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE);

        } catch (GooglePlayServicesRepairableException e) {
            Log.e(TAG, e.toString());
        } catch (GooglePlayServicesNotAvailableException e) {
            Log.e(TAG, e.toString());
        }
    }

当用户触摸EditText字段时,如何只显示一次Places Builder实例?

1 个答案:

答案 0 :(得分:0)

将为每个事件(DOWN,MOVE,UP等)调用

OnTouchListener 检测到“触摸”时会调用OnClickListener(向下和向上,没有大量移动,......)

OnClickListener是开箱即用的功能,但如果您拥有OnTouchListener或视图已停用,则无法正常工作。什么是myTextField