OnClickListener无法与Google Maps片段顶部的按钮一起使用

我正在尝试让一个按钮在SupportMapFragment上工作,但是OnclickListener没有启动。这是我的代码:

MapFragment:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle     savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
    setRetainInstance(true);
    SP = getActivity().getSharedPreferences(SHARED_PREFS_NAME, 0);
    this.SP.registerOnSharedPreferenceChangeListener(this);
    View view = inflater.inflate(R.layout.map, container, false);

    FrameLayout frameLayout = new FrameLayout(getActivity());
    frameLayout.setBackgroundColor(getResources().getColor(android.R.color.transparent));
    ((ViewGroup) view).addView(frameLayout, new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT,
            LayoutParams.MATCH_PARENT));

    setHasOptionsMenu(true);
    tracker = GoogleAnalyticsTracker.getInstance();
    setMapTransparent((ViewGroup) view);
    String mapType = SP.getString("PREF_MAP", "MAP_TYPE_NORMAL");

    FragmentManager myFragmentManager = getFragmentManager();
    SupportMapFragment mySupportMapFragment = (SupportMapFragment) myFragmentManager.findFragmentById(R.id.map);
    myMap = mySupportMapFragment.getMap();
    if (mapType.equals("MAP_TYPE_NORMAL")) {
        myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
    } else if (mapType.equals("MAP_TYPE_SATELLITE")) {
        myMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
    } else if (mapType.equals("MAP_TYPE_HYBRID")) {
        myMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
    }
    myMap.setMyLocationEnabled(true);
    myMap.setOnMapClickListener(this);
    myMap.setOnMapLongClickListener(this);
    myMap.getUiSettings().setZoomControlsEnabled(true);
    myMap.getUiSettings().setMyLocationButtonEnabled(true);
    myMap.getUiSettings().setScrollGesturesEnabled(true);
    myMap.getUiSettings().setZoomGesturesEnabled(true);
    ((Activity) getActivity()).setSupportProgressBarIndeterminateVisibility(false);

    button = (Button) view.findViewById(R.id.sbutton);
    this.button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(getActivity(), "CLICK!", Toast.LENGTH_SHORT).show();

        }

    });

    return view;
}

map.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:holo="http://schemas.android.com/apk/res-auto"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Main"
 >

<fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment"
    />

<Button
    android:id="@+id/sbutton"
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:gravity="center_horizontal|center_vertical"           
    android:background="@drawable/ic_social_share_light"
         />

不知道为什么不起作用。有人可以看一下代码,然后告诉我我在做什么错吗?

谢谢

我已经解决了问题。我将onClick添加到了map.xml的按钮上,而不是使用MapFragment中的代码,而是使用了MapActivity中的代码,如下所示。这样我的按钮可以正常工作。

Map.xml

android:onClick="sButton"

MapActivity

public void sButton(View v) {
    Toast.makeText(this, "CLICK!", Toast.LENGTH_SHORT).show();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OnClickListener不能与Google Maps片段顶部的按钮一起使用

来自分类Dev

片段导航无法与ActionBar上的“后退”按钮一起使用,对于实体按钮来说也可以

来自分类Dev

Flutter Google Maps和Firebase无法一起使用

来自分类Dev

Android Recyclerview Onclicklistener无法与游标一起使用

来自分类Dev

将Google Maps lib与Polymer一起使用

来自分类Dev

BaseAdapter无法与OnClickListener一起正常工作

来自分类Dev

jQuery无法与Bootstrap单选按钮一起使用

来自分类Dev

无法使Material UI单选按钮与Formik一起使用

来自分类Dev

显示无法与滑块的单选按钮一起使用

来自分类Dev

HTML按钮无法与我的JavaScript一起使用

来自分类Dev

片段中无法调用OnClickListener

来自分类Dev

片段中无法调用OnClickListener

来自分类Dev

Atom片段网络无法与TAB触发器一起使用

来自分类Dev

我无法让 OnClickListeners 与包含两个不同片段的 Android 活动一起使用

来自分类Dev

Android UI片段可以与Google Glass一起使用吗?

来自分类Dev

html5自动对焦无法与Google Maps v3信息窗口表单一起使用

来自分类Dev

jQuery .load()无法与Google搜索结果一起使用

来自分类Dev

Google字体无法与引导程序一起使用

来自分类Dev

Google Map Initialize无法与Tab一起使用

来自分类Dev

Google字体无法与引导程序一起使用

来自分类Dev

我无法在片段上设置 onClickListener RelativeLayout

来自分类Dev

无法获取禁用按钮以使用ShinyR中的if语句与observeEvent一起使用

来自分类Dev

Twitter Bootstrap列和Google Maps不能一起使用

来自分类Dev

尝试获取简单的Google Maps示例以与AngularJS一起使用

来自分类Dev

尝试获取简单的Google Maps示例以与AngularJS一起使用

来自分类Dev

Google Maps Marker Clusterer-如何将infoWindow与位置索引一起使用

来自分类Dev

jQuery DataTable-顶部和固定高度的列级过滤器无法一起使用

来自分类Dev

ng-model无法与角度单选按钮一起使用

来自分类Dev

WPF按钮单击和命令无法一起使用MVVM

Related 相关文章

  1. 1

    OnClickListener不能与Google Maps片段顶部的按钮一起使用

  2. 2

    片段导航无法与ActionBar上的“后退”按钮一起使用,对于实体按钮来说也可以

  3. 3

    Flutter Google Maps和Firebase无法一起使用

  4. 4

    Android Recyclerview Onclicklistener无法与游标一起使用

  5. 5

    将Google Maps lib与Polymer一起使用

  6. 6

    BaseAdapter无法与OnClickListener一起正常工作

  7. 7

    jQuery无法与Bootstrap单选按钮一起使用

  8. 8

    无法使Material UI单选按钮与Formik一起使用

  9. 9

    显示无法与滑块的单选按钮一起使用

  10. 10

    HTML按钮无法与我的JavaScript一起使用

  11. 11

    片段中无法调用OnClickListener

  12. 12

    片段中无法调用OnClickListener

  13. 13

    Atom片段网络无法与TAB触发器一起使用

  14. 14

    我无法让 OnClickListeners 与包含两个不同片段的 Android 活动一起使用

  15. 15

    Android UI片段可以与Google Glass一起使用吗?

  16. 16

    html5自动对焦无法与Google Maps v3信息窗口表单一起使用

  17. 17

    jQuery .load()无法与Google搜索结果一起使用

  18. 18

    Google字体无法与引导程序一起使用

  19. 19

    Google Map Initialize无法与Tab一起使用

  20. 20

    Google字体无法与引导程序一起使用

  21. 21

    我无法在片段上设置 onClickListener RelativeLayout

  22. 22

    无法获取禁用按钮以使用ShinyR中的if语句与observeEvent一起使用

  23. 23

    Twitter Bootstrap列和Google Maps不能一起使用

  24. 24

    尝试获取简单的Google Maps示例以与AngularJS一起使用

  25. 25

    尝试获取简单的Google Maps示例以与AngularJS一起使用

  26. 26

    Google Maps Marker Clusterer-如何将infoWindow与位置索引一起使用

  27. 27

    jQuery DataTable-顶部和固定高度的列级过滤器无法一起使用

  28. 28

    ng-model无法与角度单选按钮一起使用

  29. 29

    WPF按钮单击和命令无法一起使用MVVM

热门标签

归档