2016-05-23 4 views
2

Я switchCompat.setChecked(true) в преобразования приложений на onViewCreated(...) из Фрагмент .Это хорошо работает в первый раз, но не работает после того, как вернулся из BackStack.

Бревно показывает, что switchCompat.isChecked() является истинным, но состояние ПИ SwitchCompat является off.It настолько Strage, что Parms названного IsChecked из onCheckedChanged в OnCheckedChangeListener также ложных.

Может ли кто-нибудь сказать мне, почему?Android Почему switchCompat.setChecked (правда) не работает после того, как вернулся из BackStack

Обломок

@Override 
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 

    ......other code...... 

    initialSnooze(); 

} 


private void initialSnooze() { 
    mSwitchSnooze.setChecked(mAlarm.isSnooze()); 
    Log.d("TAG", "initialSnooze: "+mAlarm.toString()+" "+mSwitchSnooze.isChecked()); 
} 

Переход к следующей Fragemnt

private void switchFragment(Fragment fragment,String tag){ 
     FragmentTransaction fragmentTransaction=getSupportFragmentManager().beginTransaction(); 
     fragmentTransaction.addToBackStack(tag);   
     fragmentTransaction.replace(android.R.id.content, fragment, tag); 
     fragmentTransaction.commit(); 
    } 
кнопка

спина к спине от BackStack

@Override 
public void onBackPressed() { 
    //回退栈中有Fragment 
    int count = getSupportFragmentManager().getBackStackEntryCount(); 
    if (count == 0) { 
     super.onBackPressed(); 
    } else { 
     getSupportFragmentManager().popBackStack(); 
    } 
} 

** Во втором фрахте **

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if (getArguments() != null) { 
     mAlarm = getArguments().getParcelable(PARAM_ALARM); 
    } 
    mAlarm.setSnooze(true); 
} 
+0

Можем ли мы видеть код, который вы пытаетесь? – pRaNaY

+0

Опубликуйте свой код. –

+0

Я отправил код @jaydroider – zys

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^