学习fragment,做例子时遇到了这样的错误:
The method replace(
int
, Fragment) in the type FragmentTransaction is not applicable
for
the arguments (
int
, MyFragment)
原码是这样
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.rbJob:
job = new JobFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.main_content, job).commit();
break;
case R.id.rbEdu:
edu = new EduFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.main_content, edu).commit();
break;
case R.id.rbLife:
life = new LifeFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.main_content, life).commit();
break;
case R.id.rbMe:
me = new MeFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.main_content, me).commit();
break;
default:
break;
}
}
遇到这个错误只会有这样几种可能:
1,首先确认Activity继承了FragmentActivity
2,Activity和Fragment中导的包不一致,我这里都是用的support.v4包,v4中,用的是getSupportFragmentManager