如何从另一个片段更新片段的Lis​​tView?

Car*_*pez 4 android android-listview android-fragments

我怎样才能传达listviewListFragment的事件发生后Fragment内的另一个Fragment

ListFragment(片段A)我有一个方法来刷新ListView.但是,我需要在点击Button内部之后刷新它Fragment,这是另一个的孩子Fragment(片段b)

它像FragmentA(listFragment)| FragmentB(详细视图)(片段C - B的子片段)

我该怎么做?

Phi*_*oda 6

您可以Fragment通过其标记访问另一个:

 // find your fragment
 YourFragment f = (YourFragment) getSupportFragmentManager().findFragmentByTag("yourFragTag");

 // update the list view
 f.updateListView(); 
Run Code Online (Sandbox Code Playgroud)

你的标签Fragment时,它被设置连接到一个容器布局:

FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction().replace(R.id.frameBuy, YourFragment.newInstance(), "yourFragTag").commit();
Run Code Online (Sandbox Code Playgroud)

因此,当您单击时Button,找到Fragment要按其标记刷新的内容,然后调用您的刷新方法.

如果您使用的是ViewPager,这是获取Fragments标记的方法:

   /**
     * Gets the fragment tag of a fragment at a specific position in the viewpager.
     *
     * @param pos the pos
     * @return the fragment tag
     */
    public String getFragmentTag(int pos){
        return "android:switcher:"+R.id.yourViewPagerId+":"+pos;
    }
Run Code Online (Sandbox Code Playgroud)