android– 从fragmentActivity刷新片段UI

android– 从fragmentActivity刷新片段UI,第1张

概述我想从FragmentActivity中更改片段中的ImageView(在代码中创建).(XML中没有片段和标记).从FragmentActivity扩展的MainActivity和从GooglePlayServicesClient.ConnectionCallbacks实现的:...FragmentAdaptermAdapter;ViewPagermPager;...publicvoidonCreate(Bundlesav

我想从FragmentActivity中更改片段中的ImageVIEw(在代码中创建). (XML中没有片段和标记).

从FragmentActivity扩展的MainActivity和从GooglePlayServicesClIEnt.ConnectionCallbacks实现的:

...FragmentAdapter mAdapter;VIEwPager mPager;...public voID onCreate(Bundle savedInstanceState){    ...    FragmentManager fm = getSupportFragmentManager();    mAdapter = new FragmentAdapter(fm);    mPager.setAdapter(mAdapter);    ...}@OverrIDepublic voID onConnected(Bundle connectionHint){//*** I want to change a ImageVIEw on Fragment1 here}

从FragmentPagerAdapter扩展的FragmentAdapter:

...private FragmentManager mFragmentManager;public FragmentAdapter(FragmentManager fm){    super(fm);}@OverrIDepublic Fragment getItem(int pos){// String name = makeFragmentname(R.ID.mainPager, pos);// Fragment fragmentObject = mFragmentManager.findFragmentByTag(name);Fragment fragmentObject = null;switch(pos){    case 0:        fragmentObject = new Fragment1();        break;    ...}return fragmentObject;}...//private static String makeFragmentname(int vIEwID, iont index){    //return "androID:switcher:" + vIEwID + ":" + index;//}

根据this主题更改片段中的元素,来自fragmentActivity:

从Fragment扩展的Fragment1:

private ImageVIEw imgThisImageShouldChange = null;public VIEw onCreateVIEw(...){    imgThisImageShouldChange = (ImageVIEw)v.findVIEwByID(R.ID.Targetimage);    ...}public voID changeImageVIEw(int resourceID){    imgThisImageShouldChange.setimageResource(resouirceID);}

本主题中的注释行说:

//Do not create new object each time you set text. Use the same
fragment object which you use for vIEw pager.

那么如何从MainActivity访问fragmentObject,调用changeImageVIEw方法呢?

如果我应该通过标签找到片段,根据this主题,我应该在哪里设置标签以及如何查找?

解决方法:

所以显然可以根据您的具体需求进行调整,但这是我用于我的应用程序的内容.

 Fragment frag = getSupportFragmentManager().findFragmentByTag("androID:switcher:" + R.ID.pager + ":" + mPager.getCurrentItem());    if(frag!=null&&mPager.getCurrentItem()==0)        {           ((Fragment1) frag).changeImageVIEw(1);        }
总结

以上是内存溢出为你收集整理的android – 从fragmentActivity刷新片段UI全部内容,希望文章能够帮你解决android – 从fragmentActivity刷新片段UI所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1104003.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存