android:创建视图后执行FragmentPagerAdapter方法
我有一个活动,它包含了一个碎片页面和它的视图。创建视图后,我需要运行此方法来更改TextView(在FragmentPagerAdapter中定义): 我尝试在FragmentPagerAdapter的构造函数中调用android:创建视图后执行FragmentPagerAdapter方法,android,android-activity,android-view,Android,Android Activity,Android View,我有一个活动,它包含了一个碎片页面和它的视图。创建视图后,我需要运行此方法来更改TextView(在FragmentPagerAdapter中定义): 我尝试在FragmentPagerAdapter的构造函数中调用onPageSelectedCustom(),但是f始终为空,因此从不执行代码。我尝试使用活动的onCreate()、onResume()和onPostResume(),但它们都在创建片段视图之前被调用 关于哪里出了问题,你有什么想法吗?片段遵循不同于活动,因此你对活动的生命周期方法
onPageSelectedCustom()
,但是f
始终为空,因此从不执行代码。我尝试使用活动的onCreate()
、onResume()
和onPostResume()
,但它们都在创建片段视图之前被调用
关于哪里出了问题,你有什么想法吗?
片段
遵循不同于活动
,因此你对活动的生命周期方法的方法将不起作用
从您的代码来看,您想要的似乎是一种与片段通信的方式,该片段位于ViewPager中的哪个位置。要实现这一点,您可以将活动中的捆绑包中的数据发送到片段,然后从onCreateView()
相应地更改片段的文本视图
public void onPageSelectedCustom(int position) {
int ValidView;
FragmentManager myFrag = passedAct.getSupportFragmentManager();
String name = makeFragmentName(mViewPager.getId(), position);
ArrayListFragment f = (ArrayListFragment) myFrag.findFragmentByTag(name);
if(f!=null) {
ValidView= 1;
View fragView = f.getView();
View tv = fragView.findViewById(R.id.text);
((TextView)tv).setText("VALID FRAGMENT #" + position);
Log.d("Fragment", "fragment is valid: " + position);
} else {
ValidView= 0;
Log.d("Fragment", "fragment is not valid: " + position);
}
}