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;
	}

	
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇