Den*_*815 2 android-fragments kotlin android-toolbar
我正在尝试在片段中设置工具栏。
尽管Google Developer文档已更新为包括Kotlin代码(请参阅本页):
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_my)
// Note that the Toolbar defined in the layout has the id "my_toolbar"
setSupportActionBar(findViewById(R.id.my_toolbar))
Run Code Online (Sandbox Code Playgroud)
它与活动(而不是片段)中工具栏的设置有关。
我发现这则SO帖子表明您不能只在片段中调用setSupportActionBar。报价:
片段没有这样的方法setSupportActionBar()。ActionBar是Activity的属性,因此要将工具栏设置为actionBar,您的活动应从ActionBarActivity扩展,然后可以在Fragment中调用:
...
如果您使用的是AppCompatActivity:
Run Code Online (Sandbox Code Playgroud)((AppCompatActivity)getActivity()).setSupportActionBar(mToolbar);
但是,上面给出的代码在Java中。
在Kotlin中我怎么称呼它?
要访问ActionBar从Fragment在科特林:
if(activity is AppCompatActivity){
(activity as AppCompatActivity).setSupportActionBar(mToolbar)
}
Run Code Online (Sandbox Code Playgroud)
要设置ActionBar标题,Fragment您可以执行
(activity as AppCompatActivity).supportActionBar?.title = "Title"
Run Code Online (Sandbox Code Playgroud)
要么
(activity as AppCompatActivity).supportActionBar?.setTitle(R.string.my_title_string)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4697 次 |
| 最近记录: |