尝试运行此代码时,我一直收到此错误....
07-31 10:53:40.840: ERROR/AndroidRuntime(22962): Caused by: java.lang.ClassCastException: com.fttech.shoppingClass cannot be cast to android.support.v4.app.Fragment
07-31 10:53:40.840: ERROR/AndroidRuntime(22962): at android.support.v4.app.Fragment.instantiate(Fragment.java:325)
07-31 10:53:40.840: ERROR/AndroidRuntime(22962): at android.support.v4.app.Fragment.instantiate(Fragment.java:300)
和
07-31 10:50:10.650: ERROR/AndroidRuntime(22917): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f070020 type #0x12 is not valid
07-31 10:50:10.650: ERROR/AndroidRuntime(22917): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2054)
07-31 10:50:10.650: ERROR/AndroidRuntime(22917): at android.content.res.Resources.getLayout(Resources.java:853)
07-31 10:50:10.650: ERROR/AndroidRuntime(22917): at android.view.LayoutInflater.inflate(LayoutInflater.java:389)
public class shopping_details_fragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
//Return the view for our WebView
return(inflater.inflate(R.id.shoppingWindow,container, false)); //This is where the error is pointing too
}
}
这是我正在膨胀的片段xml ......
<fragment android:layout_height="match_parent" android:id="@+id/shoppingWindow" class="com.fttech.shopping_details_fragment" android:layout_width="match_parent"></fragment>
我做错了什么?
答案 0 :(得分:6)
据我了解Fragments,您需要将其视为活动。因此,您似乎试图使用inflater.inflate(R.id.shoppingWindow,container, false)
来扩充片段。相反,你应该膨胀片段的布局,而不是片段本身。就像inflater.inflate(R.layout.shoppingWindowLayout, container, false)
之类的东西一样,就像你为一个活动夸大布局一样。
对于强制转换异常,shoppingClass
扩展了什么?确保您拥有正确的import语句。您正在使用兼容性库,因此片段的import语句应该来自那个而不是内置到Android的片段。例如,您应该android.support.v4.app.Fragment
,可能android.support.v4.app.FragmentActivity
而不是android.app.Fragment
。 可能是强制转换异常的来源。