gpt4 book ai didi

android - 使用 FragmentPagerAdapter 时不会调用 Fragment onResume()

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:23 27 4
gpt4 key购买 nike

我需要我的 fragment 在 Activity fragment 时始终调用某个函数,所以我将它放在 onResume() 中,但它没有被调用。

fragment A

@Override
public void onResume(){
super.onResume();
Log.d("clear state", " "+clear);
if(clear == true)
{
restart();
clear = false;
calculate();
}
}

我使用带有 ViewPager 的 FragmentPagerAdapter 来切换 fragment

public class ScoutingFragSingle extends FragmentPagerAdapter{


@Override
public Fragment getItem(int index) {
Bundle data = new Bundle();
switch(index){
case 0:
TeamsFragment teamsFragment = new TeamsFragment();
data.putInt("current_page", index+1);
teamsFragment.setArguments(data);
return teamsFragment;
case 1:

data.putInt("current_page", index+1);
data.putInt("matchId", matchNum);
aFragment.setArguments(data);
return aFragment;

那么如何让 fragment 调用它们的 onResume()?

最佳答案

我前段时间遇到了同样的问题。

创建一个新接口(interface)并通过您的两个 Fragment 实现它:

public interface OnPageSelectedListener {
void onPageSelected();
}

在父 Activity 中实现 android.support.v4.view.ViewPager.OnPageChangeListener 并像这样调用 Fragment 方法:

@Override
public void onPageSelected(int i) {
OnPageSelectedListener fragment = (OnPageSelectedListener ((PlaceListPagerAdapter)pager.getAdapter()).getFragment(i);
fragment.onPageSelected();
}

PS:新接口(interface)的名称和方法有点乱,慎重或更改。

关于android - 使用 FragmentPagerAdapter 时不会调用 Fragment onResume(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15463116/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com