2017-02-08 14 views
-1

Я пытаюсь позвонить PlaceAutocomplete.IntentBuilder для Google Адресов.Использование OnTouchListener создает несколько экземпляров, в то время как OnClickListener создает None

Когда я использую

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

Как я могу получить только один раз экземпляр Places Builder, чтобы показать, когда пользователь прикасается поле EditText?

+1

Фильтр по их действию, события касания будут уволены для нажатия и нажатия, а также для перетаскивания. – Shark

+0

Мне нравится, когда трус пустил голоса без каких-либо объяснений. –

+0

Даунвитов вообще не нужно объяснять, но, конечно, я объясню свое, так как я был тем, кто это сделал - вы не сделали свою домашнюю работу, а также необходимые предварительные исследования; который также приведет вас к вашему ответу, как сказал Кевинроб в своем ответе. Итак, всякий раз, когда вы видите подобный «трусливый нисходящий», пожалуйста, предположите, что причина в том, что я сказал вам выше (недостаток исследовательских усилий), так как это может быть снова. Я просто посмотрел на ваш вопрос, дал вам намек и занижен, так как вы могли бы сделать лучше. – Shark

ответ

0

OnTouchListener будет вызываться для каждого события (DOWN, MOVE, UP и т. Д.).
OnClickListener будет называться, когда «Touch» детектируется (вниз и вверх без много двигаться, ...)

OnClickListener является то, что работа вне коробки, но не может работать, если вам имеют OnTouchListener или вид отключен. Что такое myTextField?