fragment改viewpager中各个fragment传值

来源:互联网 发布:医学文献王 for mac 编辑:程序博客网 时间:2024/06/01 10:35

开发中用到在fragment中搜索框输入关键字,下面是个viewpager,viewpager有两个fragment,滑到哪个fragment就在哪个fragment中进行搜索。

大fragment:

private int fragmentFlag=0;//定义一个标记知道是哪一页
//在监听器做到如下事情,翻到哪一页记下页数public class MyPageChangeListener implements ViewPager.OnPageChangeListener {    @Override    public void onPageSelected(int arg0) {        Animation animation = null;        switch (arg0) {            case 0:                fragmentFlag=0;                break;            case 1:                fragmentFlag=1;                break;                 }}    @Override    public void onPageScrolled(int arg0, float arg1, int arg2) {    }    @Override    public void onPageScrollStateChanged(int arg0) {    }}

//点击搜索框
@Overridepublic void onClick(View v) {    switch (v.getId()) {       case R.id.supplier_search://查找            String search=(editSearch.getText().toString().trim()+"").replace("null","");            if(fragmentFlag==0){                SPSupplierAllFragment allFragment=(SPSupplierAllFragment)getActivity().getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.mViewPager + ":0");                allFragment.searchData(search);            }else if(fragmentFlag==1){                SPSupplierDistanceFragment diatanceFragment=(SPSupplierDistanceFragment)getActivity().getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.mViewPager + ":1");                diatanceFragment.searchData(search);            }            break;    }}

在viewpager中的fragment做的操作:

/** * 用于搜索的方法 * @param search */public void searchData(String search){    this.search=search;//传来的search    refreshData();//本例子中的数据更新}
如此,就可以进行数据的更新了。

0 0
原创粉丝点击