2016-08-31 10 views
0

私はAndroidで全く新しいです。私はアンドロイドのオートコンプリートのAPIを自分のコードに実装しています。 onPlaceSelectedが呼び出されるメソッドは、私はPlaceAutocompleteFragmentこの関数を呼び出したかを知りたいときはいつでも私のautocompleteFragementまたはautocompleteFragement2AndroidでonPlaceSelectedListenerを呼び出した要素のIDを取得する方法

は休憩するかどうか、

PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)getFragmentManager().findFragmentById(R.id.place_fragment); 
    autocompleteFragment.setOnPlaceSelectedListener(this); 
    autocompleteFragment.setHint("Enter Source"); 
    autocompleteFragment.setBoundsBias(BOUNDS_INDIA); 

    PlaceAutocompleteFragment autocompleteFragment2 (PlaceAutocompleteFragment)getFragmentManager().findFragmentById(R.id.place_fragment2); 
    autocompleteFragment2.setOnPlaceSelectedListener(this); 
    autocompleteFragment2.setHint("Enter Destination"); 
    autocompleteFragment2.setBoundsBias(BOUNDS_INDIA); 

    ........ 

    public void onPlaceSelected(Place place) { 
    ..... 
    //need to know which PlaceAutocompleteFragment called this function, whether autocompleteFragement or autocompleteFragement2 
    } 

:私は次のように定義された2 PlaceAutocompleteFragmentとonPlaceSelectedリスナーを含む活性を有しコードは今のところうまく動作しています。

ありがとうございます!

答えて

1

私は同じ問題に苦しんで、ここに私のコードですた。

address2 = (TextView) findViewById(R.id.autocomplete2); 
    attributionsTextView2 = (TextView) findViewById(R.id.txt_attributions2); 

    // Method that gets the address via Google Places and set it into the textView 
    autocompleteFragment2 = (PlaceAutocompleteFragment) 

      getFragmentManager().findFragmentById(R.id.place_fragment2); 

    autocompleteFragment2.setOnPlaceSelectedListener(new PlaceSelectionListener() { 
     @Override 
     public void onPlaceSelected(Place place) { 

      Log.i(LOG_TAG, "Place Selected: " + place.getName()); 

      attributionsTextView2.setText(getString(R.string.place_autocomplete_search_hint, place 
        .getName(), place.getAddress(), place.getPhoneNumber(), place 
        .getWebsiteUri(), place.getRating(), place.getId())); 

      addr2 = place.getAddress().toString(); 
      Log.i("info", "addr2 : " + addr2); 

      if (!TextUtils.isEmpty(place.getAttributions())) { 
       attributionsTextView.setText(Html.fromHtml(place.getAttributions().toString())); 
      } 
     } 

     @Override 
     public void onError(Status status) { 
     } 
    }); 
    autocompleteFragment2.setHint("_ _ _ _ _ _"); 
関連する問題