android - onActivityResult() 从未调用过
问题描述
我有一个问题onActivityResult()
和setResult()
。
1 周前我开始了 android 开发,很抱歉。
你可以帮帮我吗?
这是我的代码片段:
ListActivity 函数点击
val myadapter = ItemAdapter();
list_recycler_view.layoutManager = LinearLayoutManager(this)
list_recycler_view.adapter = myadapter
val me = this;
myadapter.setOnItemClickListener(object : ItemAdapter.OnItemClickListener {
override fun onItemClick(item: Item) {
val intent = Intent(me, DetailActivity::class.java)
intent.putExtra("item", item)
startActivityForResult(intent, 2)
}
})
列出活动函数 onActivityResult
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
Log.d("reponse","coucou5");
Log.d("reponse",requestCode.toString());
Log.d("reponse",resultCode.toString());
if (requestCode == 2 && resultCode == RESULT_OK) {
val item = data?.getParcelableExtra<Item>("item") as Item
Log.d("reponse-update",item.toString());
if (item == null) {
Toast.makeText(this, "Could not update! Error!", Toast.LENGTH_SHORT).show()
}
//ItemListViewModel.update(item);
} else {
Toast.makeText(this, "Note not saved!", Toast.LENGTH_SHORT).show()
}
}
单击时的详细活动功能
btnSave.setOnClickListener{
//other props
item.gid = gid;
item.distance = distance
Log.d("reponse",item.toString());
Log.d("reponse","coucou4");
val returnIntent = intent
returnIntent.putExtra("item", item)
setResult(Activity.RESULT_OK, returnIntent)
finish()
}
似乎onActivityResult()
从未调用过
解决方案
我认为这是因为您没有创建另一个发送信息的意图,请执行此操作并检查这是否适合您。
在您的详细活动中执行此操作,而不是在您的代码中粘贴此内容。
btnSave.setOnClickListener{
//other props
item.gid = gid;
item.distance = distance
Log.d("reponse",item.toString());
Log.d("reponse","coucou4");
Intent returnIntent = Intent();
returnIntent.putExtra("item", item)
setResult(2, returnIntent)
finish()
}
您正在传递 RESULT_OK 这不是必需的,它由 Android 框架本身处理。
推荐阅读
- php - 如何在 PHP 中连接 SQL 查询字符串
- python - 即使在递归搜索中文件的字符串不止一个,也只写入一次文件路径
- javascript - Angular:输入绑定未更新
- jquery-select2 - 从 Select2 搜索结果中排除现有标签
- c++ - 发布序列代码片段,给出随机行为
- javascript - 用于创建格式化 XLSX 电子表格的 JS 库
- python - C-API:PySys_SetObject 引用计数
- javascript - 我可以选择类型=“文件”吗?
- html - 如何从电子邮件签名中删除文本下划线?
- java - Gradle 失败:无法从“13.0.1”确定 java 版本