Fragment 创建不了, XML 文件报错

本文介绍了如何在Android开发中使用Fragment来实现响应式布局。通过示例代码详细讲解了如何在Activity中配置Fragment,并强调了onCreateView方法的重要性。

碎片化 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;
	}

	
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值