版权声明:本文为博主原创文章,未经博主允许不得转载。 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控件了。