我得到以下例外:
引起: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天我被困在这里,我很欣赏任何提示。