Java 膨胀碎片问题时出错

Java 膨胀碎片问题时出错,java,android,android-fragments,android-fragmentactivity,Java,Android,Android Fragments,Android Fragmentactivity,我有一个项目,我正在工作,但我得到这个错误,当我试图开始我的活动,持有地图 以下是我从logCat得到的信息: 04-29 11:55:39.588: E/AndroidRuntime(11635): FATAL EXCEPTION: main 04-29 11:55:39.588: E/AndroidRuntime(11635): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.scsp/com.sc

我有一个项目,我正在工作,但我得到这个错误,当我试图开始我的活动,持有地图

以下是我从logCat得到的信息:

04-29 11:55:39.588: E/AndroidRuntime(11635): FATAL EXCEPTION: main
04-29 11:55:39.588: E/AndroidRuntime(11635): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.scsp/com.scsp.Map}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.app.ActivityThread.access$600(ActivityThread.java:127)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.os.Looper.loop(Looper.java:137)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.app.ActivityThread.main(ActivityThread.java:4441)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at java.lang.reflect.Method.invokeNative(Native Method)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at java.lang.reflect.Method.invoke(Method.java:511)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at dalvik.system.NativeStart.main(Native Method)
04-29 11:55:39.588: E/AndroidRuntime(11635): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.view.LayoutInflater.parseInclude(LayoutInflater.java:823)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:729)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.app.Activity.setContentView(Activity.java:1835)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at com.scsp.Map.onCreate(Map.java:64)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.app.Activity.performCreate(Activity.java:4465)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
04-29 11:55:39.588: E/AndroidRuntime(11635):    ... 11 more
04-29 11:55:39.588: E/AndroidRuntime(11635): Caused by: java.lang.ClassCastException: com.google.android.gms.maps.MapFragment cannot be cast to android.support.v4.app.Fragment
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.support.v4.app.Fragment.instantiate(Fragment.java:394)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.support.v4.app.Fragment.instantiate(Fragment.java:369)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:272)
04-29 11:55:39.588: E/AndroidRuntime(11635):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669)
04-29 11:55:39.588: E/AndroidRuntime(11635):    ... 24 more
我已经从项目的libs文件夹中删除了
android-support-v4.jar
,但我看到该文件在我使用的库中。有人能告诉我怎么解决这个问题吗

和我的地图活动代码:

public class Map extends FragmentActivity {
    private GoogleMap map;
    private ArrayList<Servizi> servizi;
    private ArrayList<MainScreenObject> mainObj;
    private ArrayList<Marker> serviziMarkers;
    private ArrayList<Marker> blackMarkers;
    private ArrayList<Marker> redMarkers;
    private CheckBox black, red, green;
    // private Marker myLocationMarker;
    private TextView screenTitle;
    private static final int RAD = 6371000;
    private boolean centered = false;
    private Button centra, external;
    private Location myLocation;

    CameraPosition myPosition;

    SlidingDrawer slidingDrawer;
    ImageView slideButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map_test);
        // Enabling Up / Back navigation

        try {
            // Loading map

            initilizeMap();
            initWidtets();

            map.setMyLocationEnabled(true);
            map.getUiSettings().setMyLocationButtonEnabled(false);
            // Location myLocation = map.getMyLocation();

            centerMapOnMyLocation();

            map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
                @Override
                public void onInfoWindowClick(Marker marker) {
                    // startactivity and pass data here
                    Toast.makeText(Map.this, "BOOM!", Toast.LENGTH_SHORT)
                            .show();
                }
            });
            if (getParent().getClass().equals(Main.class)) {
                slidingDrawer.setVisibility(View.GONE);
            }
            slidingDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener() {
                @Override
                public void onDrawerOpened() {
                    slideButton.setBackgroundResource(R.drawable.close);
                }
            });
            slidingDrawer.setOnDrawerCloseListener(new OnDrawerCloseListener() {
                @Override
                public void onDrawerClosed() {
                    slideButton.setBackgroundResource(R.drawable.semnal);
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void centerMapOnMyLocation() {

        map.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {

            @Override
            public void onMyLocationChange(Location arg0) {

                LatLng myLatLng = new LatLng(arg0.getLatitude(), arg0
                        .getLongitude());
                myPosition = new CameraPosition.Builder().target(myLatLng)
                        .zoom(17).bearing(0).tilt(30).build();
                if (!centered) {
                    myLocation = arg0;
                    map.animateCamera(CameraUpdateFactory
                            .newCameraPosition(myPosition));
                    centered = true;
                }
            }
        });
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        finish();
        overridePendingTransition(R.anim.slide_in_down, R.anim.slide_out_down);
    }

    private double getDistance(double lat1, double lon1, double lat2,
            double lon2) {
        double dLat = Math.toRadians(lat2 - lat1);
        double dLon = Math.toRadians(lon2 - lon1);
        lat1 = Math.toRadians(lat1);
        lat2 = Math.toRadians(lat2);

        double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.sin(dLon / 2)
                * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);

        double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));

        return RAD * c;
    }

    private void initWidtets() {
        Typeface typeFaceRegular = Typeface.createFromAsset(getAssets(),
                "CaviarDreams.ttf");
        servizi = getIntent().getParcelableArrayListExtra(Constants.SERVIZI);
        mainObj = getIntent().getParcelableArrayListExtra(
                Constants.MAIN_ARR_OBJ);

        serviziMarkers = new ArrayList<Marker>();
        blackMarkers = new ArrayList<Marker>();
        redMarkers = new ArrayList<Marker>();
        black = (CheckBox) findViewById(R.id.checkBox1);
        black.setTypeface(typeFaceRegular);
        green = (CheckBox) findViewById(R.id.checkBox3);
        green.setTypeface(typeFaceRegular);
        red = (CheckBox) findViewById(R.id.checkBox2);
        red.setTypeface(typeFaceRegular);
        centra = (Button) findViewById(R.id.map_centra);
        external = (Button) findViewById(R.id.map_external);
        external.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri
                        .parse("http://maps.google.com/maps?f=d&daddr="
                                + servizi.get(0).getLat() + ","
                                + servizi.get(0).getLon()));
                intent.setComponent(new ComponentName(
                        "com.google.android.apps.maps",
                        "com.google.android.maps.MapsActivity"));
                startActivity(intent);
            }
        });
        centra.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                map.animateCamera(CameraUpdateFactory
                        .newCameraPosition(myPosition));
            }
        });
        green.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                toggleMarkers(serviziMarkers);
            }
        });

        black.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                toggleMarkers(blackMarkers);
            }
        });

        red.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                toggleMarkers(redMarkers);
            }
        });
        if (servizi != null)
            addServiziMarkers();
        if (mainObj != null) {
            addBlackMarkers();
            addRedMarkers();
        }

        // Enabling Up / Back navigation
        getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        getActionBar().setDisplayShowCustomEnabled(true);
        View cView = getLayoutInflater().inflate(R.layout.actionbar_map, null);
        getActionBar().setCustomView(cView);
        screenTitle = (TextView) findViewById(R.id.menu_title);
        screenTitle.setText(getString(R.string.smart_map));

    }

    private void toggleMarkers(ArrayList<Marker> markers) {
        for (int i = 0; i < markers.size(); i++) {
            if (markers.get(i).isVisible())
                markers.get(i).setVisible(false);
            else
                markers.get(i).setVisible(true);
        }
    }

    private void addBlackMarkers() {
        Marker m;
        Log.v("--", "BLACK MARKERS SIZE: "
                + mainObj.get(0).getAddi_info().getTasks().size());
        for (int i = 0; i < mainObj.get(0).getAddi_info().getTasks().size(); i++) {
            Tasks task = mainObj.get(0).getAddi_info().getTasks().get(i);
            m = map.addMarker(new MarkerOptions()
                    .position(new LatLng(task.getLat(), task.getLon()))
                    .title(task.getTitle())
                    .icon(BitmapDescriptorFactory.fromResource(Constants
                            .GetImage(this, "addb" + task.getId()))));
            blackMarkers.add(m);
        }
    }

    private void addRedMarkers() {
        Marker m;
        Log.v("--", "RED MARKERS SIZE: "
                + mainObj.get(1).getAddi_info().getTasks().size());
        for (int i = 0; i < mainObj.get(1).getAddi_info().getTasks().size(); i++) {
            Tasks task = mainObj.get(1).getAddi_info().getTasks().get(i);
            m = map.addMarker(new MarkerOptions()
                    .position(new LatLng(task.getLat(), task.getLon()))
                    .title(task.getTitle())
                    .icon(BitmapDescriptorFactory.fromResource(Constants
                            .GetImage(this, "addn" + task.getId()))));
            redMarkers.add(m);
        }
    }

    private void addServiziMarkers() {
        Marker m;

        for (int i = 0; i < servizi.size(); i++) {
            m = map.addMarker(new MarkerOptions()
                    .position(
                            new LatLng(servizi.get(i).getLat(), servizi.get(i)
                                    .getLon()))
                    .title(servizi.get(i).getTitle())
                    .icon(BitmapDescriptorFactory.fromResource(Constants
                            .GetImage(this, "addg" + servizi.get(i).getId()))));
            serviziMarkers.add(m);
        }
    }

    /**
     * function to load map. If map is not created it will create it for you
     * */
    private void initilizeMap() {
        if (map == null) {
            map = ((MapFragment) getFragmentManager()
                    .findFragmentById(R.id.map)).getMap();
            // map.setMyLocationEnabled(true); // Enable the my-location layer

            // check if map is created successfully or not
            if (map == null) {
                Toast.makeText(getApplicationContext(),
                        "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                        .show();
            }
        }
    }

    public void clickEvent(View v) {
        switch (v.getId()) {
        case R.id.menu_back:
            this.finish();
            overridePendingTransition(R.anim.slide_in_down,
                    R.anim.slide_out_down);
            break;
        case R.id.menu_penuta:
            Toast.makeText(this, "Here what?", Toast.LENGTH_SHORT).show();
            break;
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}
公共类映射扩展了碎片活动{
私人谷歌地图;
私人ArrayList servizi;
private ArrayList mainObj;
私人ArrayList serviziMarkers;
私有ArrayList blackMarkers;
私有数组列表红色标记;
私人复选框黑色、红色、绿色;
//私有标记myLocationMarker;
私有文本视图屏幕标题;
专用静态最终整数RAD=6371000;
私有布尔中心=false;
专用按钮中央,外部;
私人位置;
相机定位;
滑动抽屉滑动抽屉;
图像视图滑动按钮;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.map\u测试);
//启用向上/向后导航
试一试{
//装载图
initilizeMap();
initwidtes();
map.setMyLocationEnabled(true);
map.getUiSettings().setMyLocationButtonEnabled(false);
//Location myLocation=map.getMyLocation();
centerMapOnMyLocation();
setOnInfoWindowClickListener(新的OnInfoWindowClickListener(){
@凌驾
公用无效信息窗口单击(标记){
//startactivity并在此处传递数据
Toast.makeText(Map.this,“BOOM!”,Toast.LENGTH\u SHORT)
.show();
}
});
if(getParent().getClass().equals(Main.class)){
slidingDrawer.setVisibility(视图已消失);
}
slidingDrawer.setOnDrawerOpenListener(新的OnDrawerOpenListener()){
@凌驾
公开作废已作废(){
slideButton.setBackgroundResource(R.drawable.close);
}
});
slidingDrawer.setOnDrawerCloseListener(新的OnDrawerCloseListener()){
@凌驾
公共无效或已关闭(){
slideButton.setBackgroundResource(R.drawable.semnal);
}
});
}捕获(例外e){
e、 printStackTrace();
}
}
私有void centerMapOnMyLocation(){
setOnMyLocationChangeListener(新的GoogleMap.OnMyLocationChangeListener(){
@凌驾
公共void onMyLocationChange(位置arg0){
LatLng myLatLng=新LatLng(arg0.getLatitude(),arg0
.getLongitude());
myPosition=new CameraPosition.Builder().target(myLatLng)
.缩放(17).方位(0).倾斜(30).构建();
如果(!居中){
myLocation=arg0;
map.animateCamera(CameraUpdateFactory
.newCameraPosition(myPosition));
居中=正确;
}
}
});
}
@凌驾
public void onBackPressed(){
super.onBackPressed();
完成();
覆盖转换(R.anim.slide\u in\u down,R.anim.slide\u out\u down);
}
专用双倍距离(双倍lat1、双倍lon1、双倍lat2、,
双盲法(2){
双dLat=数学托拉迪安(lat2-lat1);
双dLon=数学托拉迪安(lon2-lon1);
lat1=数学托拉迪安(lat1);
lat2=数学托拉迪安(lat2);
双a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.sin(dLon/2)
*数学正弦(dLon/2)*数学余弦(lat1)*数学余弦(lat2);
double c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));
返回RAD*c;
}
私有void initwidtes(){
Typeface Typeface Regular=Typeface.createFromAsset(getAssets(),
“鱼子酱梦”(ttf);
servizi=getIntent().getParcelableArrayListExtra(Constants.servizi);
mainObj=getIntent().getParcelableArrayListExtra(
常量(主对象);
serviziMarkers=newarraylist();
blackMarkers=newarraylist();
redMarkers=newarraylist();
黑色=(复选框)findViewById(R.id.checkBox1);
黑色。设置字体(字体规则);
绿色=(复选框)findViewById(R.id.checkBox3);
绿色。设置字体(字体规则);
红色=(复选框)findViewById(R.id.checkBox2);
红色。设置字体(字体规则);
centra=(按钮)findViewById(R.id.map\u centra);
外部=(按钮)findViewById(R.id.map\u外部);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
意图=新意图(Intent.ACTION\u视图,Uri
.parse(“http://maps.google.com/maps?f=d&daddr="
+servizi.get(0.getLat()+“,”
+获取(0.getLon());
intent.setComponent(新组件名称(
“com.google.android.apps.maps”,
“com.google.android.maps.MapsActivity”);
星触觉(意向);
}
});
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
map.animateCamera(CameraUpdateFactory
.newCameraPosition(myPosition));
}
});
green.setOnCheckedChangeListener(新的OnCheckedChangeListener(){
@凌驾
检查更改后的公共无效(复合按钮视图,
布尔值(已检查){
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <FrameLayout
        android:id="@+id/fragment_placeholder"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <include
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            layout="@layout/map" />
    </FrameLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/transparent" >

        <SlidingDrawer
            android:id="@+id/SlidingDrawer"
            android:layout_width="wrap_content"
            android:layout_height="240dip"
            android:layout_gravity="bottom"
            android:content="@+id/contentLayout"
            android:handle="@+id/slideButton"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/slideButton"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:scaleType="fitEnd"
                android:src="@drawable/semnal" />

            <LinearLayout
                android:id="@+id/contentLayout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:color/white"
                android:orientation="vertical"
                android:padding="10dp" >

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/map_centra"
                        android:layout_width="40dp"
                        android:layout_height="40dp"
                        android:layout_margin="5dp"
                        android:background="@drawable/centra" />

                    <Button
                        android:id="@+id/map_external"
                        android:layout_width="40dp"
                        android:layout_height="40dp"
                        android:layout_margin="5dp"
                        android:background="@drawable/naviga" />

                    <ToggleButton
                        android:id="@+id/bus_btn"
                        android:layout_width="40dp"
                        android:layout_height="40dp"
                        android:layout_margin="5dp"
                        android:background="@android:color/transparent"
                        android:button="@drawable/bus_sel"
                        android:textOff=""
                        android:textOn="" />

                    <ToggleButton
                        android:id="@+id/car_btn"
                        android:layout_width="40dp"
                        android:layout_height="40dp"
                        android:layout_margin="5dp"
                        android:background="@android:color/transparent"
                        android:button="@drawable/car_sel"
                        android:textOff=""
                        android:textOn="" />

                    <ToggleButton
                        android:id="@+id/walk_btn"
                        android:layout_width="40dp"
                        android:layout_height="40dp"
                        android:layout_margin="5dp"
                        android:background="@android:color/transparent"
                        android:button="@drawable/walk_sel"
                        android:textOff=""
                        android:textOn="" />
                </LinearLayout>

                <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="10dp" android:text="Lorem ispum doloret si amet."/>
            </LinearLayout>
        </SlidingDrawer>
    </FrameLayout>

</RelativeLayout>
 map = ((MapFragment) getFragmentManager()
                .findFragmentById(R.id.map)).getMap();
  map = ((SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map)).getMap();
GoogleMap map;
SupportMapFragment mapFragment;
android.support.v4.app.FragmentManager fragmentManager;

fragmentManager = this.getSupportFragmentManager();// use getActivity() instead of this when you work on fragment only
mapFragment = (SupportMapFragment) fragmentManager.findFragmentById(R.id.map);
map = mapFragment.getMap();