Fragment的使用

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方法返回空值的最普遍,且最容易忽视的错误。

posted on 2015-07-03 11:05  谦行者  阅读(237)  评论(0编辑  收藏  举报