1

我获取并获取当前位置和选定位置,但是当我按下取消十字按钮时,它将全部清除,但现在无法从变量中清除..请提前帮助我谢谢

4

2 回答 2

1

这个解决方案对我有用:

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <fragment android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
            android:id="@+id/place_autocomplete_fragment"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <View
            android:id="@+id/view_callback"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:layout_gravity="right|center_vertical"
            android:background="@android:color/transparent"/>
    </FrameLayout>

我在 PlaceAutocompleteFragment 上放置了一个透明视图。此视图应覆盖取消按钮。然后,在 Activity/Fragment 中,获取视图参考后:

closeCallback.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            autocompleteFragment.setText("");
            return true;
        }
    });

此解决方案有效,因为当您输入一个空字符串时,我们会获得相同的结果。

于 2017-08-22T06:46:50.293 回答
0

你不能设置它的可见性消失。也没有听众。
可能它将在谷歌下一次更新中可用。

不是一个正确的解决方案,但如果你真的需要它。您可以使用相对布局在十字按钮上创建一个白色视图,这样用户就无法看到十字按钮。

 <RelativeLayout
        android:layout_below="@+id/actionBar"
    android:id="@+id/ll1"
    android:layout_width="match_parent"
    android:layout_height="@dimen/_40sdp"
        android:alpha=".9"
    android:background="@drawable/home_page_search"
   android:layout_margin="10dp"

    >

<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"
 />


        <View
            android:id="@+id/view1"
            android:layout_width="@dimen/_50sdp"
            android:layout_height="match_parent"
            android:layout_alignParentRight="true"
            android:background="@color/white"
            android:layout_margin="@dimen/_5sdp"
            />


    </RelativeLayout>

并在其上放置一个 clicklistener 以使 cross 不可点击

于 2016-03-16T12:29:48.820 回答