转载请表明出处:http://blog.youkuaiyun.com/u012637501(嵌入式_小J的天空)
通过上一篇博文《深入理解fragment一》,我们学习了Android-Fragment的核心知识点。现在在此基础上,利用Fragment技术开发一款适用于大屏幕手机/平板的查找图书详情的应用软件。该项目主要在于两方面,一是Activity、Fragment的源码实现;二是,布局界面资源文件的实现。
1.res/../BookListFragment.java:
自定义类,继承于ListFragment,无需实现OnCreateView()方法,用于Activity右边显示列表fragment。
(1)定义Callbacks接口:定义一个回调接口Callback,用于实现该Fragment与它所在的Activity交互;
(2)实现onCreate(Bundle savedInstanceState)方法:通过Adapter所提供的多个列表项,设置Fragment列表显示的列表项;
(3)实现onAttach(Activity activity)方法:将Fragment添加并显示到Acitvity中,并将传入的activity对象强制类型转化为 Callbacks接口对象,以便调用接口公共方法onItemSelected(Integer id)响应用户单击的某列表项;
(4)实现ListFragment的onListItemClick(ListView l, View v, int position, long id)方法:
当用户点击Acitivity中的某项列表时,onListItemClick方法被激发。在这个方法中调用接口的onItemSelected来与activity共享事件。onItemSelected()传入的参数id是列表的被选中的行ID,另一个fragment(B)( BookDetailFragment )用这个ID来从程序的ContentProvider中取得标题的内容。
package com.example.android_fragment_1;
import android.app.Activity;
import android.app.ListFragment;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class BookListFragment extends ListFragment {
//1.定义一个回调接口Callback,用于实现该Fragment与它所在的Activity交互(注意:该接口的实现需要在Act