Android 中Fragment使用

public class MainActivity extends Activity {public static String[] array = { "item1,", "item2", "item3", "item4","item5", "item6", "item7", "item8" };@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public static class FirstFragment extends ListFragment{boolean mDualPane;int mCurCheckPosition = 0;@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState); System.out.println("Fragment-->onCreate");}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubSystem.out.println("Fragment-->onCreateView");return super.onCreateView(inflater, container, savedInstanceState);}@Overridepublic void onPause() {// TODO Auto-generated method stubsuper.onPause();System.out.println("Fragment-->onPause");}@Overridepublic void onStop() {// TODO Auto-generated method stubsuper.onStop();System.out.println("Fragment-->onStop");}@Overridepublic void onAttach(Activity activity) {// TODO Auto-generated method stubsuper.onAttach(activity);System.out.println("Fragment-->onAttach");}@Overridepublic void onStart() {// TODO Auto-generated method stubsuper.onStart();System.out.println("Fragment-->onStart");}@Overridepublic void onResume() {// TODO Auto-generated method stubsuper.onResume();System.out.println("Fragment-->onResume");}@Overridepublic void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();System.out.println("Fragment-->onDestroy");}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);System.out.println("Fragment-->onActivityCreted");setListAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1, array));View detailsFrame = getActivity().findViewById(R.id.right_frame);mDualPane = detailsFrame != null&& detailsFrame.getVisibility() == View.VISIBLE;if (savedInstanceState != null) {mCurCheckPosition = savedInstanceState.getInt("curChoice", 0); }if (mDualPane) {getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);showDetails(mCurCheckPosition);}}@Overridepublic void onSaveInstanceState(Bundle outState) {// TODO Auto-generated method stubsuper.onSaveInstanceState(outState);outState.putInt("curChoice", mCurCheckPosition);}@Overridepublic void onListItemClick(ListView l, View v, int position, long id) {// TODO Auto-generated method stubsuper.onListItemClick(l, v, position, id);showDetails(position);}void showDetails(int index) {mCurCheckPosition = index; if (mDualPane) {getListView().setItemChecked(index, true);RightFragment details = (RightFragment) getFragmentManager().findFragmentById(R.id.right_frame); if (details == null || details.getShownIndex() != index) {details = RightFragment.newInstance(mCurCheckPosition); FragmentTransaction ft = getFragmentManager().beginTransaction();ft.replace(R.id.right_frame, details);ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);ft.commit();}} else {new AlertDialog.Builder(getActivity()).setTitle(android.R.string.dialog_alert_title).setMessage(array[index]).setPositiveButton(android.R.string.ok,null).show();}}}public static class RightFragment  extends Fragment {@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setHasOptionsMenu(true);}public static RightFragment newInstance(int index) { RightFragment details = new RightFragment();Bundle args = new Bundle();args.putInt("index", index);details.setArguments(args);return details;}public int getShownIndex() {return getArguments().getInt("index", 0);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubif (container == null)return null;ScrollView scroller = new ScrollView(getActivity());TextView text = new TextView(getActivity());int padding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getActivity().getResources().getDisplayMetrics());text.setPadding(padding, padding, padding, padding);scroller.addView(text);text.setText(array[getShownIndex()]);return scroller;}@Overridepublic void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {// TODO Auto-generated method stubsuper.onCreateOptionsMenu(menu, inflater); menu.add("Menu 1a").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);            menu.add("Menu 1b").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubToast.makeText(getActivity(), "index is"+getShownIndex()+" && menu text is "+item.getTitle(), 1000).show();return super.onOptionsItemSelected(item);}}

台州人在杭州 IT交流群 416194041

欢迎在杭州的台州老乡加入交流!

更多相关文章

  1. 安卓开发者平台(巨卓网)
  2. Android使用selector改变文字的颜色
  3. react-native android 白屏
  4. Android(安卓)获取assets的绝对路径
  5. 广州沙龙和微信、酷狗 欢聚时代的 Android(安卓)开发工程师一起
  6. android零碎要点---android开发者的福音,59_1 Android的界面设计
  7. android学习网站
  8. android学习网站
  9. [Android(安卓)博客]收集一些不错的,关于android的IT Blog,互相学

随机推荐

  1. Android(安卓)倒计时(支持小时,分钟)
  2. ANDROID – 使用特定的URL开启应用程序
  3. 获取Android正在运行的任务和服务
  4. Unable to execute dex: Multiple dex fi
  5. 说说在 Android(安卓)如何在全局获取 Con
  6. 16 个Android(安卓)开发者必备工具资源
  7. Android中 加载一张大图片Caused by: jav
  8. tab上显示数字
  9. android开发环境
  10. Android(安卓)ListView组件中android:dra