微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法让 actionBar 后退按钮使用 putExtra 重新发送意图?

如何解决有没有办法让 actionBar 后退按钮使用 putExtra 重新发送意图?

我有一个活动,它有一个 recyclerview,它根据从前一个活动转发的 yearSelected 字符串填充其数据,并添加额外的内容。然后我选择一行并导航到下一个活动以显示所选周的信息。当我想使用操作栏后退按钮返回上一个活动时,它会崩溃,我猜是因为我返回时不再发送意图信息。有没有地方可以在 putExtra 返回时使用它,或者有没有办法将后退按钮设置为像底部的后退按钮那样返回上一个活动?

解决方法

实际上,操作栏应该表现得像一个菜单。 您可以监听“后退”按钮并在 onOptionsItemSelected 中执行您需要的任何操作。

例如

public boolean onOptionsItemSelected(MenuItem item) {
    ...
    switch (item.getItemId()) {
    case android.R.id.home:
        <set return result etc and finish> 
        return true;
    ...

请注意,后退按钮项目 id 是 android.R.id.home .. 因为相同的项目用于 home 和 up(以及内存中的汉堡菜单)。

此外,在处理事件的过程中完成和活动不是很好的做法,但通常会这样做。

,
override fun onOptionsItemSelected(item: MenuItem): Boolean{
    return  when (item.itemId){
        android.R.id.home -> {
            finish()
            true
        }else -> super.onOptionsItemSelected(item)

    }

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。