Android(安卓)中Fragment使用
16lz
2022-04-04
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 |
欢迎在杭州的台州老乡加入交流! |
更多相关文章
- 安卓开发者平台(巨卓网)
- Android使用selector改变文字的颜色
- react-native android 白屏
- Android(安卓)获取assets的绝对路径
- 广州沙龙和微信、酷狗 欢聚时代的 Android(安卓)开发工程师一起
- android零碎要点---android开发者的福音,59_1 Android的界面设计
- android学习网站
- android学习网站
- [Android(安卓)博客]收集一些不错的,关于android的IT Blog,互相学