我开发了一个Android应用程序,提示日历应用程序编辑事件。
我使用StartActivityForResult()
打开日历。编辑并保存事件后,resultcode
在onActivityResult()
中始终为0。
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
//set the event details
startActivityForResult(intent,1);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//resultCode always returns 0.
switch(requestCode) {
case 1:
if (resultCode == Activity.RESULT_OK)
{
}
}
}
无论我在日历应用程序中单击“保存”还是“取消”,resultcode
总是给出0。
另外,我需要从日历intent中获取数据,但是onActivityResult中的intent“data”也返回null。
有人能解释为什么会这样吗?有没有办法知道用户点击“保存”还是“取消”?
您可以检查新添加日历事件的lastId,如果没有改变,则结果实际上是取消的,否则就可以了
val projection = arrayOf(CalendarContract.Calendars._ID)
cursor = contentResolver.query(CalendarContract.Events.CONTENT_URI, projection, null, null, null)
if (cursor.moveToLast()) {
val lastId = cursor.getLong(0)
// compare lastId with a previous one, if not changed - result is CANCELLED
}
我总是用下面的代码得到。 这是我的process代码 但如果coderesultcode正常工作。 这是我的
下面是片段。请注意,我已经恢复到以前的提交,因此丢失了最近的修改,但请查看我编写的代码,然后才注意到始终等于0() 以下是当检测到活动后按: 以下是NoteActivity接收结果调用的方式。 null 我在我的项目上浪费了很多重要的时间,只是想知道是什么使resultCode和requestCode的值丢失了我发送的值。 任何帮助和指导都将不胜感激。非常感谢!
问题内容: 当我以编程方式创建一个始终记为生日日历(类型)的日历事件时,我遇到了一个奇怪的问题,我不知道为什么会这样记录日历事件。 我使用的代码如下:Xamarin C# 请问有人有什么提示或想法可以指引我正确的方向吗? 提前致谢。 问题答案: 下面回答的问题是旧的,请参考Pkosta的答案,它提供了更准确的答案… 您必须将CalendarId值设置为3,而不是默认的生日日历1。例如 更改为 它为
我现在已经在工作了,伊索尔德向特里斯坦发送一个特别的发射意图,特里斯坦再用一个广播意图向伊索尔德发送信息。(详见我前面的问题) “但是等等!”我听到你哭诉,“这不是的完美用例吗?”的确是!代码要简单得多,我读到的所有内容都暗示Android希望你这样做。 不幸的是,我不能让它工作(尽管尝试了很多变体,并阅读了这个网站上的十几个相关问题)。我的具体问题是,在Isolde的回调中,始终为并且始终为。
问题内容: 士兵级 子弹班 我在碰撞检测方面遇到了麻烦。我已经尝试过Rect.intersects,r.intersect(r1),r.contains(r1),并且始终为false。我什至绘制矩形以确保正确绘制并且正确绘制,但是碰撞始终为假 问题答案:
我的代码中有以下工作流程。我有,它启动一个新的使用starActivityForResult(意图,请求代码)。活动B有一个片段,比如,它包含一个listview(它的适配器有一个arraylist)和下面的编辑文本,可以将新值添加到listview中。 我打算将数据发送回。我在中实现了一个接口,该接口在同一片段的onPause()方法中调用。 子任务是在“编辑文本”中从“添加”按钮添加新项时更新