首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Android

kotlin toolbar 无法显示返回键?

  •  
  •   yeelone · 2017-12-17 21:16:03 +08:00 · 1852 次点击
    这是一个创建于 696 天前的主题,其中的信息可能已经有所发展或是发生改变。

    正在学习 kotlin,参考的是 kotlin for android develpoer 官方代码 并且自己写着一个 Demo,发现跑起来总是无法调出返回键,思考了一天搜了一天没有得到答案。只好来求助,我把代码传上了码云,请大家帮我看看,问题出在哪里?

    点击查看我的代码

    我的 demo 截图

    demo

    官方示例 demo

    10 回复  |  直到 2017-12-19 18:59:14 +08:00
        1
    wl9739788   2017-12-17 21:59:24 +08:00   ♥ 1
    你把 activity_add_todo.xml 文件第 9 行的 id 去掉试试?
        2
    wl9739788   2017-12-17 22:10:42 +08:00
    或者你也可以把上述文件第 9 行的 android:id="@+id/include" 改为 android:id="@+id/toolbar"。不过这种修改方式不推荐。
        3
    yeelone   2017-12-17 22:40:28 +08:00
    @wl9739788 #1 原来是这么简单的问题。真是太感谢了。这是不是 ID 冲突导致的问题?
        4
    wl9739788   2017-12-18 00:44:57 +08:00   ♥ 4
    @yeelone 问题原因可能不是你想的那样。

    你的代码里面,是希望拿到 <include/> 引用的布局下的 toolbar 控件,并对这个 toolbar 控件设置一些属性。

    当你使用 <include/> 这个标签时,如果没有对 <include/> 添加 id 属性,那么,你是可以在 Activity 中直接获取 include 引用布局里面的控件。我提出的第一种解决方法就是基于此原因。删掉 <include/> 的 id 属性,在你的 AddTodoActivity 类里的 setSupportActionBar(toolbar) 这个方法中,就能找到 toolbar 这个控件。

    当你设置了 <include/> 的 id 属性后,include 的 id 值将会传递并赋值给引用布局的根控件 (root view)。在你的代码中,<include/> 的 id 值是 include,因此 <include/> 引用的布局里面,Toolbar 的 id 不再是 toolbar,而是 include。这时候有两种解决方法:

    1. 改 xml 代码。将 <include/> 标签 android:id="@+id/include" 改为 android:id="@+id/toolbar",也就是我提出的第二种解决方法。这样你的 Activity 代码中的 setSupportActionBar(toolbar) 就能生效。

    2. 改 Activity 代码。将 setSupportActionBar(toolbar) 改为 setSupportActionBar(include as Toolbar?)。这样也是可行的。
        5
    yeelone   2017-12-18 09:24:54 +08:00 via iPhone
    @wl9739788 非常感谢你的回答,这下我就明白了
        6
    gonethen   2017-12-18 17:58:41 +08:00
    我也想学 kotlin 开发安卓,求大神带
        7
    youngxhui   2017-12-18 22:12:17 +08:00 via Android
    这个应该不是 kotlin 的锅吧
        8
    yeelone   2017-12-18 22:17:32 +08:00
    @youngxhui #7 没人说是 kotlin 的锅吧?
        9
    youngxhui   2017-12-18 22:30:50 +08:00 via Android
    @yeelone 好像也是😂
        10
    kwanzaa   2017-12-19 18:59:14 +08:00
    @gonethen 官方有示例
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4115 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 09:23 · PVG 17:23 · LAX 01:23 · JFK 04:23
    ♥ Do have faith in what you're doing.