相关疑难解决方法(0)

如何确定片段何时在ViewPager中可见

问题:片段onResume()ViewPager片段实际可见之前被触发.

例如,我有2个片段与ViewPagerFragmentPagerAdapter.第二个片段仅供授权用户使用,我需要让用户在片段可见时登录(使用警告对话框).

但是ViewPager当第一个片段可见时创建第二个片段,以便缓存第二个片段,并在用户开始滑动时使其可见.

因此,onResume()事件在第二个片段变为可见之前就被触发了.这就是为什么我试图找到一个事件,当第二个片段变得可见时,它会在适当的时刻显示一个对话框.

如何才能做到这一点?

android android-fragments android-viewpager

728
推荐指数
13
解决办法
29万
查看次数

片段生命周期 - 在显示/隐藏时调用哪个方法?

我使用以下方法通过显示/隐藏它们来切换片段(在我的NavigationDrawer中).

protected void showFragment(int container, Fragment fragment, String tag, String lastTag, boolean addToBackStack ) {

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();

        if ( lastTag != null && !lastTag.equals("")) {
            Fragment lastFragment = fragmentManager.findFragmentByTag( lastTag );
            if ( lastFragment != null ) {
                transaction.hide( lastFragment );
            }
        }

        if ( fragment.isAdded() ) {
            transaction.show( fragment );
        }
        else {
            transaction.add( container, fragment, tag );
        }

        if ( addToBackStack ) {
            transaction.addToBackStack( tag );
        }

        transaction.commit();

        // set the active …
Run Code Online (Sandbox Code Playgroud)

lifecycle android android-fragments fragmenttransaction

95
推荐指数
4
解决办法
7万
查看次数

片段切换期间替代onResume()

onResume()当我们在片段之间切换多次时,不会调用方法.那么,有没有更好的方法来处理恢复操作?

android onresume android-fragments

29
推荐指数
3
解决办法
6万
查看次数

使用后退按钮时Android更改标题

我的活动:

TextView title;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Overview overview = new Overview();

    setContentView(R.layout.activity_second);
    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.mycontainer, overview)
                .commit();
    }
    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
    //Some more code

    title = (TextView) toolbar.findViewById(R.id.screentitle);
    title.setText("Overzicht");


}



@Override
public boolean onNavigationItemSelected(MenuItem item) {

    switch(item.getItemId()){
        case R.id.nav_menu_overview:
            title.setText("Overzicht");
            getSupportFragmentManager().beginTransaction().replace(R.id.mycontainer, new Overview()).addToBackStack(null)
                    .commit();

            break;
        case R.id.nav_menu_favourites:
            title.setText("Favorieten");
            getSupportFragmentManager().beginTransaction().replace(R.id.mycontainer, new Favourites()).addToBackStack(null)
                    .commit();

            break;

        case R.id.nav_menu_profile:
            title.setText("Profiel");
            getSupportFragmentManager().beginTransaction().replace(R.id.mycontainer, new Profile()).addToBackStack(null)
                    .commit();
            break;
    }
Run Code Online (Sandbox Code Playgroud)

因此,现在,如果我使用菜单更改片段,标题就会更改。但是,如果我使用android后退按钮,则标题不会变回来。每当使用后退按钮时,如何更改标题?

android back

2
推荐指数
1
解决办法
730
查看次数