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搭配使用这个方法就很鸡肋了,根本不是你想要的效果,这里介绍一种方法。
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
//相当于Fragment的onResume
} else {
//相当于Fragment的onPause
}
}
通过阅读ViewPager和PageAdapter相关的代码(这句是拿来主义),切换Fragment实际上就是通过设置setUserVisibleHint和setMenuVisibility来实现的,调用这个方法时并不会释放掉Fragment(即不会执行onDestoryView)。