正在学习 kotlin,参考的是 kotlin for android develpoer 官方代码 并且自己写着一个 Demo,发现跑起来总是无法调出返回键,思考了一天搜了一天没有得到答案。只好来求助,我把代码传上了码云,请大家帮我看看,问题出在哪里?
我的 demo 截图
官方示例
1
Eateeer 2017-12-17 21:59:24 +08:00 1
你把 activity_add_todo.xml 文件第 9 行的 id 去掉试试?
|
2
Eateeer 2017-12-17 22:10:42 +08:00
或者你也可以把上述文件第 9 行的 android:id="@+id/include" 改为 android:id="@+id/toolbar"。不过这种修改方式不推荐。
|
4
Eateeer 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?)。这样也是可行的。 |
6
gonethen 2017-12-18 17:58:41 +08:00
我也想学 kotlin 开发安卓,求大神带
|
7
youngxhui 2017-12-18 22:12:17 +08:00 via Android
这个应该不是 kotlin 的锅吧
|