Android 删除并导入google-play-service_lib项目后膨胀类片段时出错

Android 删除并导入google-play-service_lib项目后膨胀类片段时出错,android,xml,google-maps,fragment,android-inflate,Android,Xml,Google Maps,Fragment,Android Inflate,我已经搜索了许多相关的问题,但仍然没有解决它的线索。 在我删除google_play_service_lib项目之前,一切都很好,但是在我删除它并再次导入它之后,错误就发生了 代码如下: 关于_frag.XML <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_widt

我已经搜索了许多相关的问题,但仍然没有解决它的线索。 在我删除google_play_service_lib项目之前,一切都很好,但是在我删除它并再次导入它之后,错误就发生了

代码如下:

关于_frag.XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:scrollbars="vertical" >

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

</RelativeLayout>
错误日志

12-19 15:55:09.562: E/AndroidRuntime(7013): FATAL EXCEPTION: main
12-19 15:55:09.562: E/AndroidRuntime(7013): Process: mypackage, PID: 7013
12-19 15:55:09.562: E/AndroidRuntime(7013): android.view.InflateException: Binary XML file line #48: Error inflating class fragment
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at esoft.com.edm.AboutFragment.onCreateView(AboutFragment.java:33)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:871)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1083)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:635)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1431)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java: 431)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.support.v4.view.ViewPager.populate(ViewPager.java:895)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.support.v4.view.ViewPager.populate(ViewPager.java:772)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1234)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.View.measure(View.java:16497)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.View.measure(View.java:16497)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.View.measure(View.java:16497)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.View.measure(View.java:16497)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.View.measure(View.java:16497)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.View.measure(View.java:16497)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.View.measure(View.java:16497)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1916)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1113)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1295)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.Choreographer.doCallbacks(Choreographer.java:574)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.Choreographer.doFrame(Choreographer.java:544)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.os.Handler.handleCallback(Handler.java:733)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.os.Handler.dispatchMessage(Handler.java:95)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.os.Looper.loop(Looper.java:136)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at android.app.ActivityThread.main(ActivityThread.java:5017)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at java.lang.reflect.Method.invokeNative(Native Method)
12-19 15:55:09.562: E/AndroidRuntime(7013):     at java.lang.refle
顺便说一句,当我从XML中删除片段时,程序运行得非常好。。。
希望不是一个老问题…

不确定,但如果删除
onDestroyView()中的所有嵌套片段,您可以解决这个问题。不知道这是不是一个合适的解决方案

public void onDestroyView() {
   super.onDestroyView(); 
   Fragment fragment = (getFragmentManager().findFragmentById(R.id.map));   
   FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
   ft.remove(fragment);
   ft.commit();
}
并像往常一样在
onCreateView()中对其进行充气


如果您收到膨胀类片段的
错误
错误,那么您在引用所需库的方式上存在某种问题。看一看我写的这篇博文,看一下它的前4部分:

如果你已经犯了这个错误,但仍然有问题。
请尝试重新下载并将
google play service
lib移动到另一个位置,在那里它的路径会更短,然后再次引用它。

你的R.id.scrollView1和R.id.about_文本在哪个布局中?亲爱的,很抱歉遗漏了一些单词,首先我已经明确地包含了google-play-service_lib,而且它工作正常,但是,当我删除它并将其作为库导入后,错误出现了……所以我告诉您,它是否正确地作为绿色标记导入?您的48行是什么?您是否在项目中添加了
support-v4
库?@GrlsHu感谢您的快速回复,我已经尝试过了,但仍然@user1865579您能再展示一下
SupportMapFragment
的代码吗?谢谢您的重播,我认为您是对的,但是在我将其从google play服务中删除并重新下载后,google-play-services_lib项目中的lib文件是空的…听起来很奇怪,请再次尝试重新下载部分,没有理由文件夹会是空的。最后,我用Google\u Play\u Service\u froyo解决了这个问题……干杯!
public void onDestroyView() {
   super.onDestroyView(); 
   Fragment fragment = (getFragmentManager().findFragmentById(R.id.map));   
   FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
   ft.remove(fragment);
   ft.commit();
}
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.map, container, false);
}