Fragment 创建不了, XML 文件报错

前端之家收集整理的这篇文章主要介绍了Fragment 创建不了, XML 文件报错前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

碎片化 Fragment 已经在 Android 开发中越来越受到重视,能够匹配不同屏幕,经常的做法是配置小屏幕设备进入的 Activity 之后的 XML 文件,使其加载 Fragment ,这样,在 Fragment 里面写的代码,无论是大屏幕还是小屏幕能用到相同的功能

比如在 Activity 文件下如此:

public class FirstActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_first);
	}

}

在相应的 XML 文件添加这个组件:
<fragment 
        android:id="@+id/first_fragment"
        android:name="com.xxx.FirstFragment"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        />

同时需要创建一个继承自 Fragment 的类,放置所有你需要放置的代码
public class FirstFragment extends Fragment{
	
}

但是!但是!运行会报错:

【Java.lang.RuntimeException: Unable to start Activity... Binary XML File...】

看到这里,第一个反应就是 XML 文件出错了。没错,当 XML 文件中的 "android:name=" 填错的时候会有这样的现象,可更容易被忽略的是,Fragment 代码下缺少了必要的东西,那就是复写的onCreateView 方法。没有这个方法,就不会创建 Fragment 与其有关的 XML 文件之间的联系,更不用说 Activity 的 XML 直接引用 Fragment 的 XML 文件了。

所以需要补上:

public class FirstFragment extends Fragment{

	@Override
	public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		View view = inflater.inflate(R.layout.first_fragment,container,false);
		return view;
	}

	
}

猜你在找的XML相关文章