1、switch(int index)其中的参数问题,此参数必须是整形的常量,即在声明时使用 final修饰(这个问题很初级。。。。)
2、intent实现拨打电话和发送短信的操作
makecall
加入权限
<uses-permission android:name="android.permission.CALL_PHONE" />
makecall:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:110"));
startActivity(intent);
sendMessage:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto:110"));
//intent.putExtra("sms_body", "Your are my friend!!");startActivity(intent);
sendMessage:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto:110"));
//intent.putExtra("sms_body", "Your are my friend!!");startActivity(intent);
3、fragment 间数据传递
//ft.hide(getActivity().getSupportFragmentManager().findFragmentByTag(“”));
Fragmentmanager fragmentManager= getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();if (fragmentContacts == null) {fragmentContacts = new FragmentContacts();transaction.replace(R.id.home_screen_content, fragmentContacts);} else {transaction.show(fragmentContacts);}Bundle bundle = new Bundle();bundle.putString("key", "技术部门"); fragmentContacts.setArguments(bundle); transaction.commit();跳转另外一个Fragment后通过调用
String string = getArguments().getString("key");
4、fragment的onpause()和onresume()方法
Fragment虽然有onResume和onPause的,但是这两个方法是Activity的方法,调用时机也是与Activity相同,和ViewPager搭配使用这个方法就很鸡肋了,根本不是你想要的效果,这里介绍一种方法。
@Overridepublic void setUserVisibleHint(boolean isVisibleToUser) {super.setUserVisibleHint(isVisibleToUser);if (isVisibleToUser) {//相当于Fragment的onResume} else {//相当于Fragment的onPause}}
通过阅读ViewPager和PageAdapter相关的代码(这句是拿来主义),切换Fragment实际上就是通过设置setUserVisibleHint和setMenuVisibility来实现的,调用这个方法时并不会释放掉Fragment(即不会执行onDestoryView)。