引起:java.lang.IllegalArgumentException:二进制XML文件行#28:重复的id

时间:2016-04-26 07:29:51

标签: android android-fragments

我得到以下例外:

  

引起:java.lang.IllegalArgumentException:二进制XML文件行#28:复制id 0x7f0f018d,标记null或父id为0x7f0f012a,另一个片段为com.google.android.gms.maps.MapFragment ...

这是我的片段代码:

public class Dettaglio_corsa_avvia_servizio extends Fragment implements View.OnClickListener {
    public static boolean isclicked = false;
    public static Dettaglio_corsa_avvia_servizio fragment;
    TextView txtfeedback, txtAvviaServizio, txtTerminaServizio, txtSegnalaServizio;
    ImageView avvigreenOn, avvigreenOff, avviaredOff, avviaredOn, reportImage, infoIcon2, infoIcon1;
    public RelativeLayout rltAvviaServizio, rltTerminaServizio, rltSegnala, rlttalla, fltTermina;
    private View Dettaglio_corsa_avviaservizio;
    private FrameLayout fltLaciaIlFeedback;
    private GoogleMap mMap;
    private ArrayList<MyMarker> mMyMarkersArray = new ArrayList<MyMarker>();
    private HashMap<Marker, MyMarker> mMarkersHashMap;

    public Dettaglio_corsa_avvia_servizio() {
        // Required empty public constructor
    }

    public static Dettaglio_corsa_avvia_servizio newInstance() {
        /*Dettaglio_corsa_avvia_servizio fragment = new Dettaglio_corsa_avvia_servizio();
        Bundle args = new Bundle();
        fragment.setArguments(args);
        return fragment;*/
        fragment = new Dettaglio_corsa_avvia_servizio();
        return fragment;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        isclicked = false;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        if (Dettaglio_corsa_avviaservizio != null) {
            ViewGroup parent = (ViewGroup) Dettaglio_corsa_avviaservizio.getParent();
            if (parent != null)
                parent.removeView(Dettaglio_corsa_avviaservizio);
        }

            Dettaglio_corsa_avviaservizio = inflater.inflate(R.layout.fragment_dettaglio_corsa_avvia_servizio, container, false);

        rltAvviaServizio = (RelativeLayout) Dettaglio_corsa_avviaservizio.findViewById(R.id.rltAvviaServizio);
        rltTerminaServizio = (RelativeLayout) Dettaglio_corsa_avviaservizio.findViewById(R.id.rltTerminaServizio);
        rltSegnala = (RelativeLayout) Dettaglio_corsa_avviaservizio.findViewById(R.id.rltSegnala);
        rlttalla = (RelativeLayout) Dettaglio_corsa_avviaservizio.findViewById(R.id.rlttalla);
        fltTermina = (RelativeLayout) Dettaglio_corsa_avviaservizio.findViewById(R.id.fltTermina);
        fltLaciaIlFeedback = (FrameLayout) Dettaglio_corsa_avviaservizio.findViewById(R.id.fltLaciaIlFeedback);

        txtfeedback = (TextView) Dettaglio_corsa_avviaservizio.findViewById(R.id.txtfeedback);
        txtAvviaServizio = (TextView) Dettaglio_corsa_avviaservizio.findViewById(R.id.txtAvviaServizio);
        txtTerminaServizio = (TextView) Dettaglio_corsa_avviaservizio.findViewById(R.id.txtTerminaServizio);
        txtSegnalaServizio = (TextView) Dettaglio_corsa_avviaservizio.findViewById(R.id.txtSegnalaServizio);

        avvigreenOn = (ImageView) Dettaglio_corsa_avviaservizio.findViewById(R.id.avvigreenOn);
        avvigreenOff = (ImageView) Dettaglio_corsa_avviaservizio.findViewById(R.id.avvigreenOff);
        avviaredOff = (ImageView) Dettaglio_corsa_avviaservizio.findViewById(R.id.avviaredOff);
        avviaredOn = (ImageView) Dettaglio_corsa_avviaservizio.findViewById(R.id.avviaredOn);
        reportImage = (ImageView) Dettaglio_corsa_avviaservizio.findViewById(R.id.reportImage);
        infoIcon1 = (ImageView) Dettaglio_corsa_avviaservizio.findViewById(R.id.infoIcon1);
        infoIcon2 = (ImageView) Dettaglio_corsa_avviaservizio.findViewById(R.id.infoIcon2);



        rltAvviaServizio.setClickable(true);
        rltAvviaServizio.setEnabled(true);

        rltTerminaServizio.setClickable(false);
        rltTerminaServizio.setEnabled(false);

        fltLaciaIlFeedback.setEnabled(false);
        fltLaciaIlFeedback.setClickable(false);


        rltAvviaServizio.setOnClickListener(this);
        fltLaciaIlFeedback.setOnClickListener(this);
        rltSegnala.setOnClickListener(this);
        rltTerminaServizio.setOnClickListener(this);
        rlttalla.setOnClickListener(this);
        infoIcon1.setOnClickListener(this);
        infoIcon2.setOnClickListener(this);


        return Dettaglio_corsa_avviaservizio;

    }

    public void Initilise() {



    }


    @Override
    public void onViewStateRestored(Bundle savedInstanceState) {
        super.onViewStateRestored(savedInstanceState);
        if (fragment != null) {
            if (isclicked) {
                rltSegnala.setBackgroundResource(R.color.yellow);
                txtSegnalaServizio.setTextColor(Color.BLUE);
                txtSegnalaServizio.setTextColor(Color.parseColor("#000000"));
                reportImage.setBackgroundResource(R.drawable.warning_icon_blue);

                avvigreenOn.setVisibility(View.GONE);
                avvigreenOff.setVisibility(View.VISIBLE);
                txtAvviaServizio.setTextColor(Color.parseColor("#123F75"));
                rltAvviaServizio.setClickable(false);
                rltAvviaServizio.setEnabled(false);
                rltTerminaServizio.setClickable(false);
                rltTerminaServizio.setEnabled(false);
                txtTerminaServizio.setTextColor(Color.parseColor("#F9B233"));
                avviaredOff.setVisibility(View.GONE);
                avviaredOn.setVisibility(View.VISIBLE);
                txtfeedback.setTextColor(Color.parseColor("#F9B233"));
                fltLaciaIlFeedback.setEnabled(false);
                fltLaciaIlFeedback.setClickable(false);


            }

        }
    }

    public void avvioServizioClick() {
        avvigreenOn.setVisibility(View.GONE);
        avvigreenOff.setVisibility(View.VISIBLE);
        txtAvviaServizio.setTextColor(Color.parseColor("#123F75"));
        rltTerminaServizio.setClickable(true);
        rltTerminaServizio.setEnabled(true);
        txtTerminaServizio.setTextColor(Color.parseColor("#F9B233"));
        avviaredOff.setVisibility(View.GONE);
        avviaredOn.setVisibility(View.VISIBLE);
        //txtfeedback.setTextColor(Color.parseColor("#F9B233"));
        //fltLaciaIlFeedback.setEnabled(true);
        //fltLaciaIlFeedback.setClickable(true);
    }

    public void terminoSWervizioClick() {

        rltTerminaServizio.setClickable(true);
        rltTerminaServizio.setEnabled(true);
        rltSegnala.setClickable(false);
        rltSegnala.setEnabled(false);
        txtTerminaServizio.setTextColor(Color.parseColor("#123F75"));
        avviaredOff.setVisibility(View.VISIBLE);
        avviaredOn.setVisibility(View.GONE);
        txtfeedback.setTextColor(Color.parseColor("#F9B233"));
        fltLaciaIlFeedback.setEnabled(true);
        fltLaciaIlFeedback.setClickable(true);
        txtSegnalaServizio.setTextColor(Color.parseColor("#123F75"));
        reportImage.setBackgroundResource(R.drawable.wraning1);


    }

    public void ShowMapSource() {
        String uri = "https://www.google.co.in/maps/place/Rome,+Italy/@41.9102416,12.2557956,59889m/data=!3m2!1e3!4b1!4m2!3m1!1s0x132f6196f9928ebb:0xb90f770693656e38";
        Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri));
        intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
        startActivity(intent);


    }

    public void ShowMapDestination() {
        String uri = "https://www.google.co.in/maps/place/Via+del+Boschetto,+00184+Roma,+Italy/@41.8970424,12.48825,468m/data=!3m1!1e3!4m2!3m1!1s0x132f61b1e5c1382d:0x630f4f9cc16f419a";
        Intent intent1 = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri));
        intent1.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
        startActivity(intent1);


    }


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.rltAvviaServizio:
                avvioServizioClick();
                break;

            case R.id.rlttalla:
                // MainActivity.flag=true;
                ((MainActivity) getActivity()).displayView(3);
                break;

            case R.id.rltSegnala:
                ((MainActivity) getActivity()).displayView(19);
                break;
            case R.id.rltTerminaServizio:
                terminoSWervizioClick();
                break;

            case R.id.fltLaciaIlFeedback:
                ((MainActivity) getActivity()).displayView(20);
                break;

            case R.id.infoIcon1:
                ShowMapSource();
                break;


            case R.id.infoIcon2:
                ShowMapDestination();
                break;


        }
    }

    private void plotMarkers(ArrayList<MyMarker> markers)
    {
        if(markers.size() > 0)
        {
            for (MyMarker myMarker : markers)
            {

                // Create user marker with custom icon and other options
                MarkerOptions markerOption = new MarkerOptions().position(new LatLng(myMarker.getmLatitude(), myMarker.getmLongitude()));
                markerOption.icon(BitmapDescriptorFactory.fromResource(R.drawable.bluemap));

                Marker currentMarker = mMap.addMarker(markerOption);
                mMarkersHashMap.put(currentMarker, myMarker);

                mMap.setInfoWindowAdapter(new MarkerInfoWindowAdapter());
            }
        }
    }

    public void addmarker()
    {
        mMarkersHashMap = new HashMap<Marker, MyMarker>();

        mMyMarkersArray.add(new MyMarker("Italy", "icon1", Double.parseDouble("41.890251"), Double.parseDouble("12.492373")));
        mMyMarkersArray.add(new MyMarker("Rome ", "icon2", Double.parseDouble("41.902783"), Double.parseDouble("12.496366")));
        mMyMarkersArray.add(new MyMarker("Cagliari", "icon3", Double.parseDouble("39.223841"), Double.parseDouble("9.121661")));
        mMyMarkersArray.add(new MyMarker("Naples", "icon4", Double.parseDouble("26.142036"), Double.parseDouble("-81.794810")));
        mMyMarkersArray.add(new MyMarker("Trieste", "icon5", Double.parseDouble("45.649526"), Double.parseDouble("13.776818")));
        mMyMarkersArray.add(new MyMarker("Turin", "icon6", Double.parseDouble("45.070312"), Double.parseDouble("7.686856")));
        mMyMarkersArray.add(new MyMarker("Palermo", "icon7", Double.parseDouble("38.115688"), Double.parseDouble("13.361267")));
        mMyMarkersArray.add(new MyMarker("Atlantic Ocean", "icondefault", Double.parseDouble("-13.1294607"), Double.parseDouble("-19.9602353")));

    }

    private int manageMarkerIcon(String markerIcon)
    {
        if (markerIcon.equals("icon1"))
            return R.drawable.area;
        else if(markerIcon.equals("icon2"))
            return R.drawable.area;
        else if(markerIcon.equals("icon3"))
            return R.drawable.area;
        else if(markerIcon.equals("icon4"))
            return R.drawable.area;
        else if(markerIcon.equals("icon5"))
            return R.drawable.area;
        else if(markerIcon.equals("icon6"))
            return R.drawable.area;
        else if(markerIcon.equals("icon7"))
            return R.drawable.area;
        else
            return R.drawable.yellowmap;
    }


    private void setUpMap()
    {
        // Do a null check to confirm that we have not already instantiated the map.
        if (mMap == null)
        {
            // Try to obtain the map from the SupportMapFragment.
            try {
                mMap = ((MapFragment) getActivity().getFragmentManager().findFragmentById(R.id.googi5)).getMap();
            }catch (Exception e)
            {
                e.printStackTrace();
            }
            if(mMap!=null) {

                mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
                    @Override
                    public boolean onMarkerClick(Marker marker) {
                        marker.showInfoWindow();
                        return true;
                    }
                });
            }
            // Check if we were successful in obtaining the map.
            else
                Toast.makeText(getContext(), "Unable to create Maps", Toast.LENGTH_SHORT).show();
        }

    }

    public class MarkerInfoWindowAdapter implements GoogleMap.InfoWindowAdapter
    {
        public MarkerInfoWindowAdapter()
        {
        }

        @Override
        public View getInfoWindow(Marker marker)
        {
            return null;
        }

        @Override
        public View getInfoContents(Marker marker)
        {
            LayoutInflater inflater = ( LayoutInflater )getActivity().
                    getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            //View v  = getLayoutInflater().inflate(R.layout.infowindow_layout, null);
            View v = inflater.inflate(R.layout.infowindow_layout, null);

            MyMarker myMarker = mMarkersHashMap.get(marker);

            ImageView markerIcon = (ImageView) v.findViewById(R.id.marker_icon);

            TextView markerLabel = (TextView)v.findViewById(R.id.marker_label);

            TextView anotherLabel = (TextView)v.findViewById(R.id.another_label);

            markerIcon.setImageResource(manageMarkerIcon(myMarker.getmIcon()));

            markerLabel.setText(myMarker.getmLabel());
            anotherLabel.setText("A custom text");

            return v;
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        MainActivity.ll_fiveh.setVisibility(View.VISIBLE);
        MainActivity.llt15Crediti.setVisibility(View.INVISIBLE);
        MainActivity.lltbutton_home.setVisibility(View.INVISIBLE);
    }
}

过去3天我被困在这里,我很欣赏任何提示。

0 个答案:

没有答案