最近学习了Fragment的一些知识,于是自己作了一些试验,发现这东西还真不错,但用的时候有一个问题,我们在使用
getFragmentManager().beginTransaction().replace(R.id.main_layout, fragment1).commit();
发现getFragmentManager() 没有定义而使用不了。
即便是我们已经加载android-support-v4.jar,然后使用getSupportFragmentManager()发现问题依旧。
到这里依旧解决不了问题,因为我们的activity继承的是Activity所以这个方法是不存在,因此我们要继承FragmentActivity问题就可以解决了。
所以我们的办法就是:
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Display display = getWindowManager().getDefaultDisplay();
if (display.getWidth() > display.getHeight()) {
Fragment1 fragment1 = new Fragment1();
getSupportFragmentManager().beginTransaction().replace(R.id.main_layout, fragment1).commit();
} else {
Fragment2 fragment2 = new Fragment2();
getSupportFragmentManager().beginTransaction().replace(R.id.main_layout, fragment2).commit();
}
}
}
(完)