如何从另一个片段的setOnMapLongClickListener侦听器中的Dialog片段接收数据

时间:2019-09-23 15:09:17

标签: android google-maps android-fragments

这是我的公共View onCreateView方法。我想在用户长按地图时打开对话框窗口,然后从对话框中获取数据,然后根据用户输入到对话框中的数据设置.tittle。我尝试使用接口进行操作,但是在需要时它不会包含数据。 getInput()是我要从Dialog片段接收数据的地方。

            mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
                @Override
                public void onMapLongClick(LatLng latLng) {
                    //FragmentManager fm = getActivity().getSupportFragmentManager();
                    DialogMap dial = new DialogMap();
                    dial.setTargetFragment(MapFragment.this, 1);
                    dial.show(getFragmentManager(), "Add a catch");

                        mMap.addMarker(new MarkerOptions()
                                .position(latLng)
                                .title(getinput())
                                .snippet("Your marker snippet")
                                .icon(BitmapDescriptorFactory.fromResource(R.drawable.fish_icon_map)));

enter image description here enter image description here

这是我对话框的片段。

1 个答案:

答案 0 :(得分:0)

您错过了DialogMap中对话框监听器的初始化。

public onDialogOk对话框。 (您必须先使用它初始化)

dialog = (onDialogOk)getTargetFragment()

因此,在onCreateView()内部,可以对其进行初始化。