2017-06-13 46 views
1

地方自動完成片段的可視性我有這樣的XML代碼如何處理的Android

<fragment 
     android:id="@+id/place_autocomplete_fragment" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"/> 

和Java代碼

PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment) 
       getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment); 

     autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() { 
      @Override 
      public void onPlaceSelected(Place place) { 
       // TODO: Get info about the selected place. 
       Log.i(TAG, "Place: " + place.getName()); 
      } 

      @Override 
      public void onError(Status status) { 
       // TODO: Handle the error. 
       Log.i(TAG, "An error occurred: " + status); 
      } 
     }); 

我想做一個autocompletefragment開頭的無形的,當我點擊在按鈕上變得可見。 我該怎麼做? 對不起,我的英文。 謝謝!

+0

一套清晰視野檢查https://stackoverflow.com/questions/7348150/android-why-setvisibilityview-gone-or-setvisibilityview-invisible-不要 – Pavan

+0

PlaceAutocompleteFragment沒有方法setVisibility –

+0

更改你想處理片段的可見性的問題標題,然後檢查這可能是幫助https://stackoverflow.com/questions/14347588/show-hide-fragment-in-android – Pavan

回答

0
autocompleteFragment.getView().setVisibility(View.GONE); 
0

放置PlaceAutocompleteFragment內的RelativeLayoutLinearLayout並使用其屬性根據需要設置的可見性。

<RelativeLayout 
    android:id="@+id/rlSearchPlacement" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dp" 
    android:layout_marginRight="5dp" 
    android:layout_marginLeft="5dp" 
    android:background="@color/bg_white"> 
<fragment 
    android:id="@+id/placeAutoFragment" 
    android:layout_width="match_parent" 
    android:layout_height="30dp" 
    android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment" /> 
</RelativeLayout> 

使用此代碼隱藏佈局:

RelativeLayout rlSearchPlace = (RelativeLayout) findViewById(R.id.rlSearchPlacement); 
rlSearchPlace.setVisibility (View.GONE);