ras*_*n58 4 android fragment onresume android-viewpager
我需要我的片段在它们是活动片段时总是调用某个函数,所以我将它放在onResume()中,但它没有被调用.
片段A.
@Override
public void onResume(){
super.onResume();
Log.d("clear state", " "+clear);
if(clear == true)
{
restart();
clear = false;
calculate();
}
}
Run Code Online (Sandbox Code Playgroud)
我使用带有ViewPager的FragmentPagerAdapter来切换片段
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;
Run Code Online (Sandbox Code Playgroud)
那么如何让片段调用它们的onResume()?
我以前遇到过同样的问题.
创建一个新的界面并由你Fragment的两个实现它:
public interface OnPageSelectedListener {
void onPageSelected();
}
Run Code Online (Sandbox Code Playgroud)
在父活动实现android.support.v4.view.ViewPager.OnPageChangeListener和调用Fragment方法如下:
@Override
public void onPageSelected(int i) {
OnPageSelectedListener fragment = (OnPageSelectedListener ((PlaceListPagerAdapter)pager.getAdapter()).getFragment(i);
fragment.onPageSelected();
}
Run Code Online (Sandbox Code Playgroud)
PS:新接口的名称及其方法有点混乱,所以要小心或更改它.
| 归档时间: |
|
| 查看次数: |
2806 次 |
| 最近记录: |