Stbdroid之Fragment
来源:互联网 发布:popo mac版 编辑:程序博客网 时间:2024/06/05 18:45
最近在学习Fragment,有必要记录下来,以免“过目就忘”。
Fragment在大屏幕的设备中应用相对广泛些,因为它的出现就是为了适应平板电脑。
Fragment一般都要跟Activity一起使用。下面主要是用到ListFragment,Fragment。
MainActivity.java
public class MainActivity extends Activity implements ClickCallback{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);display(R.drawable.ic_launcher);}@Overridepublic void onItemSelected(int id){int imageId = 0;switch(id){case 0:imageId = R.drawable.ic_launcher;break;case 1:imageId = R.drawable.ic_header;break;case 2:imageId = R.drawable.flower;break;}display(imageId);}private void display(int id){RightFragment rightFragment = new RightFragment();Bundle b = new Bundle();b.putInt(RightFragment.FRAG_ID, id);rightFragment.setArguments(b);FragmentTransaction ft = getFragmentManager().beginTransaction();ft.replace(R.id.right_container, rightFragment);ft.commit();}
MyFragment继承ListFragment,显示列表内容
public class MyFragment extends ListFragment{private ClickCallback mCallback;public interface ClickCallback{public void onItemSelected(int id);}@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);String[] list = getResources().getStringArray(R.array.string_list);ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_expandable_list_item_1, android.R.id.text1, list);setListAdapter(adapter);}@Overridepublic void onAttach(Activity activity){super.onAttach(activity);///检测使用Fragment的activity是否实现了接口if (!(activity instanceof ClickCallback)){throw new IllegalStateException("You should implement ClickCallback interface where activity contain the MyFragment!");}mCallback = (ClickCallback)activity;}@Overridepublic void onListItemClick(ListView l, View v, int position, long id) {super.onListItemClick(l, v, position, id);mCallback.onItemSelected(position);}}
RightFragment继承Fragment实现右边图片的切换显示
public class RightFragment extends Fragment{public static final String FRAG_ID = "my_fragment";private int mImageId = R.drawable.ic_launcher;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (getArguments().containsKey(FRAG_ID)){mImageId = getArguments().getInt(FRAG_ID);System.out.println("mImageId "+ mImageId);}}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View rootView = inflater.inflate(R.layout.right_contain, container, false);((ImageView) rootView.findViewById(R.id.image_id)).setImageDrawable(getResources().getDrawable(mImageId));return rootView;}}
下载
- Stbdroid之Fragment
- Stbdroid之StateListDrawable
- Stbdroid之ShapeDrawable
- Stbdroid之HorizontalScrollView
- Stbdroid之GridView+选中动画放大
- Stbdroid之代码动态创建和删除小部件
- android文档之Fragment
- Android昆仑镜之Fragment
- Android之Fragment
- android之Fragment
- Android学习之 Fragment
- android之Fragment
- android之Fragment
- Android之Fragment
- fragment管理之transaction
- android之Fragment
- 安卓之Fragment
- Fragment之简介
- 堆排序算法分析
- ubuntu server安装
- spring MVC 与 MyBatis的整合实例
- raw文件系统
- 图像处理_常用函数_OpenCV
- Stbdroid之Fragment
- 内存泄露检测
- java中使用SAX解析XML
- Mahout系列之----kmeans 聚类
- C++的Json解析库:jsoncpp和boost
- Struts里面获取session里用户的几种方式,用哪种方式最好
- windows 如何查看端口占用情况?
- 16 款优秀的Web开发辅助工具推荐
- 浅析数据挖掘的过程