Fragment的应用非常广泛,现在结合menu来使用看看效果。
MainActivity.java代码:
public class MainActivity extends FragmentActivity {
private FragmentManager manager;
private FragmentTransaction transaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*获取manager*/
manager = this.getSupportFragmentManager();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
/**
* 菜单点击事件
*/
public boolean onOptionsItemSelected(MenuItem item) {
/*创建事物*/
transaction = manager.beginTransaction();
switch (item.getItemId()) {
case R.id.sys:
SysFragment sysFragment = new SysFragment();
/*替换*/
transaction.replace(R.id.main, sysFragment, "sysFragment");
transaction.addToBackStack("sysFragment");
break;
case R.id.user:
UserFragment userFragmnet = new UserFragment();
transaction.replace(R.id.main, userFragmnet, "userFragmnet");
transaction.addToBackStack("userFragmnet");
break;
case R.id.product:
ProductFragment productFragment = new ProductFragment();
transaction.replace(R.id.main, productFragment, "productFragment");
transaction.addToBackStack("productFragment");
break;
}
/*提交事物*/
transaction.commit();
return super.onOptionsItemSelected(item);
}
}