标签:
1.要在需要使用fragment的Activity布局中添加<fragment></fragment>标签给fragment预留位置;
2.指定fragment对应的类,在类中指明fragment对应的布局文件,实现其他逻辑。
3.在Activity中通过getFragmentManager()方法得到FragmentManager对象引用
4.利用FragmentManager对象调用findFragmentById得到Fragment对象的引用
例:在Activity布局中添加fragment标签
<fragment android:id="@+id/news_content_fragment" android:name="stuapplication.pla.edu.cn.fragmentbestpractice.NewsContentFragment" android:layout_width="match_parent" android:layout_height="match_parent" ></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方法返回空值的最普遍,且最容易忽视的错误。
标签:
原文地址:http://www.cnblogs.com/laohu/p/4618069.html