首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >action_edit called在contactscontract action_edit之后未调用

action_edit called在contactscontract action_edit之后未调用
EN

Stack Overflow用户
提问于 2012-11-02 13:16:14
回答 4查看 473关注 0票数 0

我有一个显示所有聚合联系人的ListActivity。当用户单击其中一个时,我的代码将调用startActivityForResult。所有这些都能正常工作。当用户完成编辑时,我希望再次显示我的ListActivity。相反,将显示"people“活动。类似地,我的onActivityResult函数永远不会被调用。

下面是处理点击的代码:

代码语言:javascript
运行
复制
  @Override
  public void onItemClick (AdapterView<?> parent, View view, int position, long id) 
  {
    Cursor cur = ((SimpleCursorAdapter)parent.getAdapter()).getCursor();
    cur.moveToPosition (position);
    String key = cur.getString (2);  // "2" is the col containing the LOOKUP_KEY
    System.out.println ("clicked " + key);

    // make intent to edit contact
    Intent intent = new Intent (Intent.ACTION_EDIT);
    intent.setData (Uri.parse (ContactsContract.Contacts.CONTENT_LOOKUP_URI + "/" + key));
    startActivityForResult (intent, 2);
  }

我还有一个onActivityResult函数:

代码语言:javascript
运行
复制
  @Override
  protected void onActivityResult (int requestCode, int resultCode, Intent data)
  {
    System.out.println ("request " + requestCode + ", result " + resultCode);
  }

有什么建议吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-09 05:25:45

我向android提交了一个关于这个的bug。有人查看了它,并回应说,有一个未记录的解决方法。从错误报告中:

无文档记录的解决方法是在ACTION_EDIT Intent上调用putExtra("finishActivityOnSaveCompleted",true);。

但是,由于这是未记录的,我不知道哪个Android版本会使用它。

我试过了,它适用于我正在使用的Android版本: 4.1.2。有关更多信息,请参阅问题39262。

票数 3
EN

Stack Overflow用户

发布于 2012-11-02 13:33:12

代码语言:javascript
运行
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request we're responding to
    if (requestCode == 2) {
        // Make sure the request was successful
        if (resultCode == RESULT_OK) {
            // The user picked a contact.
            // The Intent's data Uri identifies which contact was selected.

            // Do something with the contact here (bigger example below)
        }
    }
}

将您的onActivity结果替换为。for request code get after will work

票数 1
EN

Stack Overflow用户

发布于 2012-11-02 13:21:40

添加

代码语言:javascript
运行
复制
super.onActivityResult(requestCode, resultCode, data);

在OnActivtyResult()中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13189699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档