1.要在需要使用fragment的Activity布局中添加<fragment></fragment>标签给fragment预留位置;
2.指定fragment对应的类,在类中指明fragment对应的布局文件,实现其他逻辑。
3.在Activity中通过getFragmentManager()方法得到FragmentManager对象引用
4.利用FragmentManager对象调用findFragmentById得到Fragment对象的引用
例:在Activity布局中添加fragment标签
构造fragment的类
package stuapplication.pla.edu.cn.fragmentbestpractice;......public class NewsContentFragment extends Fragment { View view; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.news_context_fragment, container, false); return view ; } public void refresh(String newsTitle, String newsContext){ View viewVisibilityLayout = view.findViewById(R.id.visible_layout); viewVisibilityLayout.setVisibility(View.VISIBLE); ...... TextView newsTitleText = (TextView) view.findViewById(R.id.title_text_view); ...... } }
在Activity中使用fragment
setContentView(R.layout.news_content); NewsContentFragment newsContentFragment = (NewsContentFragment) getFragmentManager().findFragmentById(R.id.news_content_fragment);newsContentFragment.refresh(title, content);
在这里要设置正确的Activity的布局,否则会导致findFragmentById()方法返回空。没有设置正确的布局文件是android中find方法返回空值的最普遍,且最容易忽视的错误。