-1

GoogleプレイスでPlaceAutocomplete.IntentBuilderを呼び出そうとしています。OnTouchListenerを使用すると、OnClickListenerが作成されていないときに複数のインスタンスが作成される

私はインスタンスが作成されていないとの意図が解雇されることはありません

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)が作成されます。ここで

はテントを作成する方法を示します。

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フィールドに触れたときに表示する場所ビルダーのインスタンス一度のみ取得できますか?

+1

タッチイベントは、そのアクションによってフィルタリングされ、押したり押したり、ドラッグしたりするために起動されます。 – Shark

+0

私は何の説明もなく臆病者の投票を好きです。 –

+0

ダウンボートは一般的に説明する必要はありませんが、確かに、私がそれをやったから説明します。あなたは、前提条件の研究とも呼ばれるあなたの宿題をしませんでした。 Kevinrobがあなたの答えであなたに言ったように、あなたの答えにつながるでしょう。 同様の「臆病者の下降」が見えるときは、理由は私が上に述べたもの(研究努力の欠如)であると推測してください。私は単にあなたの質問を見て、あなたがヒントを与え、あなたがより良くできたことがあるので、downvoted。 – Shark

答えて

0

OnTouchListenerはイベント(DOWN、MOVE、UPなど)ごとに呼び出されます。 「タッチ」が検出されたときに
OnClickListener

OnClickListenerは、すぐに働くものですが、あなたならば作業をすることはできません(DOWNとUP動きがあまりなく、...、)と呼ばれますOnTouchListenerがあるか、ビューが無効です。 myTextFieldとは何ですか?

関連する問題