您现在的位置是:主页 > news > 潍坊设计网站建设/百度手机卫士

潍坊设计网站建设/百度手机卫士

admin2025/5/14 16:35:26news

简介潍坊设计网站建设,百度手机卫士,自己 做网站,东莞seo推广Android 定义接口通知之Fragment中刷新改变宿主Activity UI 在一个搜索功能中往往会出现这样一个功能:顶部一个搜索功能,下面是一个TabLayout与ViewPager,VerPager承载着两个Fragment,随着TabLayout与ViewPager的滑动而传递信息告诉相应的Fra…

潍坊设计网站建设,百度手机卫士,自己 做网站,东莞seo推广Android 定义接口通知之Fragment中刷新改变宿主Activity UI 在一个搜索功能中往往会出现这样一个功能:顶部一个搜索功能,下面是一个TabLayout与ViewPager,VerPager承载着两个Fragment,随着TabLayout与ViewPager的滑动而传递信息告诉相应的Fra…

      Android 定义接口通知之Fragment中刷新改变宿主Activity UI

     在一个搜索功能中往往会出现这样一个功能:顶部一个搜索功能,下面是一个TabLayout与ViewPager,VerPager承载着两个Fragment,随着TabLayout与ViewPager的滑动而传递信息告诉相应的Fragment要做的事情,点击顶部的搜索来刷新下面的两个Fragment的数据,并且还要传递搜索的内容和TabLayout的位置。下面我们来看看我的实现方式,若大家有更好的方法,希望可以不吝赐教:

1.activity中调用接口(两个Fragment,这里我写了两个回调接口,看情况使用):

 if (linstenr!=null){//回调数据给Fragmentlinstenr.listener(mPosition,et_search.getText().toString());}if (linstenr_dynamic!=null){//回调数据给Fragmentlinstenr_dynamic.listener(mPosition,et_search.getText().toString());}

在activity中实现接口: 

 ListenerDynamic linstenr_dynamic;public void setLinstenr_dynamic(ListenerDynamic linstenr_dynamic) {this.linstenr_dynamic = linstenr_dynamic;}Listener linstenr;public void setLinstenr(Listener linstenr) {this.linstenr = linstenr;}

2.在Fragment中实现自己写的接口和一些方法:

public class FragmentA extends AbsBaseFragmentimplements ListenerDynamic{
//场面过于刺激,就不做展示了......
}

实现接口类后的回调方法及传递来的参数: 

 @Overridepublic void listener(int position, String content) {String mContent = content;String userId = PreferenceUtil.getInstance().getUserInfo().getUserId();if(position == 0){//动态ToastUtil.show(getActivity(), position + "----"+content);page = 1;getFindUserData(content,userId,page);}else if(position == 1){//用户}}

给activity设置监听: 

@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);SearchActivity mainActivity = (SearchActivity) activity;mainActivity.setLinstenr_dynamic(this);}

3.自定义接口(另一个与之相同):

/*** Description:用于activity与Fragment的数据交互* 如:activity中的按钮点击之后刷新Fragment中的数据** @author SGF* date:*/
public interface ListenerDynamic {void listener(int position, String content);
}

其它的方法一定有很多,时间原因只试了这一个方法,BroadcastReceiver、EventBus、sharedpreferences等应该都有自己的实现方法。