标签:des android style blog io ar color os 使用
在实现一个Fragment时,通常需要override以下方法
几种Fragment
创建Fragment的几种方法
<fragment android:name="com.example.news.ArticleListFragment" android:id="@+id/list" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" />
FragmentManager fm = getFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); SampleFragment f = new SampleFragment(); ft.add(R.id.fragment_container, f); fm.commit();
无UI的Fragment
FragmentManager 的作用
使用BackStack来存储Fragment的状态
// Create new fragment and transaction Fragment newFragment = new ExampleFragment(); FragmentTransaction transaction = getFragmentManager().beginTransaction(); // Replace whatever is in the fragment_container view with this fragment, // and add the transaction to the back stack transaction.replace(R.id.fragment_container, newFragment); transaction.addToBackStack(null); // Commit the transaction transaction.commit();
在commit()前使用setTransaction()来增加动画效果
彼此获取引用
在Fragment中实现对Activity的Callback:声明一个接口,在onAttach()时将实现该接口的Activity引用保存,在需要通知Activity时调用接口中的方法
public static class FragmentA extends ListFragment {
private OnArticleSelectedListener mListener; ... // Container Activity must implement this interface public interface OnArticleSelectedListener { public void onArticleSelected(Uri articleUri); } ... @Override public void onAttach(Activity activity) { super.onAttach(activity); try { mListener = (OnArticleSelectedListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnArticleSelectedListener"); } } ... @Override public void onListItemClick(ListView l, View v, int position, long id) { // Append the clicked item‘s row ID with the content provider Uri Uri noteUri = ContentUris.withAppendedId(ArticleColumns.CONTENT_URI, id); // Send the event and Uri to the host activity mListener.onArticleSelected(noteUri); } ... }
Fragment可以注册Options Menu与Context Menu,从而接收到onOptionsItemSelected()等事件
Fragment的生命周期与Activity类似
在宿主Activity的Resume阶段,可以自由进行Fragment的增添/删除
标签:des android style blog io ar color os 使用
原文地址:http://www.cnblogs.com/maozhige/p/4067329.html