子Fragment修改父Activity的控件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36347817/article/details/82839250

Activity中嵌套几个Fragment是再正常不过的需求了,若要在子Fragment修改父Activity中的控件,则需要获得该控件的引用。

第一步,在Activity里动态加载Fragment:

BlankFragment blankFragment = new BlankFragment();         
FragmentManager fragmentManager = getSupportFragmentManager();         
FragmentTransaction beginTransaction =   fragmentManager.beginTransaction();
beginTransaction.add(R.id.fragmentcontent, blankFragment);
beginTransaction.addToBackStack(null);
beginTransaction.commit(); 

第二步,在Fragment里的onAttach()方法中获得Activity的控件引用

@Override 
public void onAttach(Activity activity) {
    // TODO Auto-generated method stub 
    super.onAttach(activity); 
    if (activity instanceof MainActivity) {            
        MainActivity mainActivity = (MainActivity) activity;            
        textView = (TextView) mainActivity.findViewById(R.id.textView);        
    } 
} 

最后,可以在Fragment里修改父Activity中的TextView控件了。

猜你喜欢

转载自blog.csdn.net/qq_36347817/article/details/82839250