Android应用UI开发中Fragment的常见用法小结

2019-12-10 19:00:10于海丽

manager.beginTransaction() 
 .replace(R.id.right, new RightFrag(), "right")//在事务中指明该fragment的tag 
.commit(); 

3).viewgroup ID
如果该fragment均没有id和tag,系统将使用container view布局的id


3.Fragment的管理
通过getFragmentManager()方法,可以得到FragmentManager对象,主要完成下面的功能

FragmentManager manager = getFragmentManager();  
(1).得到已经存在Fragment对象
如果该fragment在布局文件中指定了id,通过findFragmentById()得到对象,或者指定了tag可以通过findFragmentByTag()得到对象

Fragment fragment = getFragmentManager().findFragmentByTag("right"); 
//or 
Fragment fragment = getFragmentManager().findFragmentById(id); 

(2).注册OnBackStackChangedListener监听器
可以用来监听该任务对应的返回栈信息,当该返回栈状态发生改变时,执行对应的onBackStackChanged() 方法

manager.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() { 
 @Override 
 public void onBackStackChanged() { 
  Toast.makeText(MainActivity.this, "返回堆状态发生改变", 1).show(); 
 } 
}); 

(3).弹出返回栈