@ZeroGeek
2015-08-26T06:23:31.000000Z
字数 2241
阅读 770
android
参考 : http://developer.android.com/guide/components/fragments.html
Android 3.0(API level 11)加入,为了使界面更灵活,可复用,动态生成。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width="match_parent"android:layout_height="match_parent"><fragment android:name="com.example.news.ArticleListFragment"android:id="@+id/list"android:layout_weight="1"android:layout_width="0dp"android:layout_height="match_parent" /><fragment android:name="com.example.news.ArticleReaderFragment"android:id="@+id/viewer"android:layout_weight="2"android:layout_width="0dp"android:layout_height="match_parent" /></LinearLayout>
FragmentManager fragmentManager = getFragmentManager()FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ExampleFragment fragment = new ExampleFragment();fragmentTransaction.add(R.id.fragment_container, fragment);fragmentTransaction.commit();
修改如下方法即可:
add(Fragment, String)
设置Tag 来给其提供唯一标识(比id好)
使用方法:findFragmentByTag()
通过FragmentManager,FragmentTransaction
- add()
- remove()
- replace()
commit()之前,可以setTransition(),使Fragment 变化带有动画效果。
public static class FragmentA extends ListFragment {...// Container Activity must implement this interfacepublic interface OnArticleSelectedListener {public void onArticleSelected(Uri articleUri);}...}
public static class FragmentA extends ListFragment {OnArticleSelectedListener mListener;...@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);try {mListener = (OnArticleSelectedListener) activity;} catch (ClassCastException e) {throw new ClassCastException(activity.toString() + " must implement OnArticleSelectedListener");}}...}
以上是结合官网,归纳的。
