2016-01-06 6 views
3

Привет Интересно, если есть XML-тег для этой функции с помощью Android Data Binding Library или как добиться этого без findViewById() методAndroid Data Binding SetSupportActionBar

Спасибо

+0

http://developer.android.com/reference/android/view/View.html существуют и другие методы в ссылке ниже –

ответ

7

Вы можете получить доступ к экземпляру панель using views by id функция

<android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

затем на вашем методе onCreate() сделайте следующее

ActivityGalleryBinding binding = DataBindingUtil 
    .setContentView(this, R.layout.activity_gallery); 
binding.setViewModel(new GalleryModel(this)); 
//set it like this 
setSupportActionBar(binding.<location>.<of>.<your>.toolbar); 

если ваша панель инструментов находится внутри другого компонента XML (ссылка с <include/>) вы можете получить доступ к нему до тех пор, пока вы предоставляете и @id в <include/>

+0

Yeap, понял, что из примерно 2 месяца назад, приветствия –

+0

Что делать, если панель инструментов включена в макет включения? Или, если в включенном макете имеется несколько видов? – ARiF

+0

+10 для 'include', спасибо – m02ph3u5

1

Сделать проект в Android Studio, то вы можете использовать ниже код для доступа к панели инструментов:

ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); 
setSupportActionBar(binding.toolbar);