onActivityResult从日历返回时显示错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了onActivityResult从日历返回时显示错误相关的知识,希望对你有一定的参考价值。
我使用以下代码打开日历应用程序:
class Appointments : AppCompatActivity() {
lateinit var tv:TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_appointments)
tv = findViewById(R.id.textView4)
tv.setOnClickListener(View.OnClickListener {
var callIntent = Intent(Intent.ACTION_EDIT)
.setType("vnd.android.cursor.item/event")
startActivityForResult(callIntent, 3);
})
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == 3 && resultCode == Activity.RESULT_OK && data!=null){
Toast.makeText(this@Appointments,"Some data came",Toast.LENGTH_SHORT).show()
} else{
Toast.makeText(this@Appointments,"Some Error",Toast.LENGTH_SHORT).show()
}
}
}
我一直收到“一些错误”的消息。我尝试删除'data!= null',但我认为结果代码是问题所在。
我最终想要实现的是:
- 用户打开应用程序
- 用户单击按钮以打开日历应用程序
- 用户能够看到日历,然后用户在日历中预约
- 用户回到应用程序,我能够提取新约会的日期和时间
有可能吗?如果是,那么将非常感谢一些代码示例。如果不可能,那么实现这一目标的其他方法是什么?
答案
删除对super的调用。调用super将更改requestCode。这个事实在很多文档中并不完全清楚,但过去我已经对它进行了轮换。同样,如果您遇到与片段到活动通信的类似问题,您会发现此答案Wrong requestCode in onActivityResult很有用
以上是关于onActivityResult从日历返回时显示错误的主要内容,如果未能解决你的问题,请参考以下文章
onActivityResult 从相机返回,Intent null
从画廊返回后,不在 Fragment 中调用 onActivityResult
从 SwiftyJSON API 分配解析的 JSON 显示错误