Как настроитьSupportActionBar в представлении, которое расширяет LifecycleActivity

У меня был Activity, который расширил AppCompactActivity, а в методе onCreate я установил Toolbar с setSupportActionBar метода setSupportActionBar обычным способом:

 public class StepMasterActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_step_master); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar);` } } 

Но теперь у меня есть компонент ViewModel и обмениваться данными между фрагментами, которые являются дочерними элементами этого действия, и управляет жизненными циклами. Мне нужно получить этот компонент в Activity, и поэтому я делаю это расширение LifecycleActivity.

 public class StepMasterActivity extends LifecycleActivity { @Override public class StepMasterActivity extends LifecycleActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_step_master); // setToolbar(); SharedViewModel sharedViewModel = ViewModelProviders.of(this).get(SharedViewModel.class); } } 

Но я заметил, что LifecycleActivity не имеет ничего общего с AppCompatActivity, ни FragmentActivity.

 public class LifecycleActivity extends FragmentActivity implements LifecycleRegistryOwner { private final LifecycleRegistry mRegistry = new LifecycleRegistry(this); public LifecycleActivity() { } public LifecycleRegistry getLifecycle() { return this.mRegistry; } } 

Я делаю что-то неправильно?

Solutions Collecting From Web of "Как настроитьSupportActionBar в представлении, которое расширяет LifecycleActivity"

Цитирование документации :

Примечание. Поскольку компоненты архитектуры находятся в альфа-фазе, классы Fragment и AppCompatActivity не могут реализовать ее (потому что мы не можем добавить зависимость от стабильного компонента к нестабильному API). До тех пор, пока жизненный цикл не будет стабильным, для удобства предусмотрены классы LifecycleActivity и LifecycleFragment. После того, как проект Lifecycles будет выпущен, фрагменты и действия библиотеки поддержки будут реализовывать интерфейс LifecycleOwner; LifecycleActivity и LifecycleFragment будут устаревать в то время.

LifecycleActivity привязан к FragmentActivity , а не к AppCompatActivity .

Вы должны иметь возможность создать свой собственный AppCompatLifecycleActivity следующим образом:

 public class AppCompatLifecycleActivity extends AppCompatActivity implements LifecycleRegistryOwner { private final LifecycleRegistry mRegistry = new LifecycleRegistry(this); @Override public LifecycleRegistry getLifecycle() { return mRegistry; } }