【问题标题】:back button not returning to previous activity后退按钮不返回上一个活动
【发布时间】:2012-11-03 14:54:52
【问题描述】:

我的小型测试应用是一个 ListActivity,它显示所有联系人。当用户单击一个时,它会打开“人”ACTION_EDIT 活动。这工作正常。当用户单击“返回”或以其他方式完成编辑时,主“人员”列表活动开始,而不是返回到我的活动。

为什么会这样?

这是我的代码:

public class ReadContact extends ListActivity implements OnItemClickListener
{
  @Override
  public void onCreate(Bundle savedInstanceState) 
  {
      super.onCreate(savedInstanceState);
      ...
  }

  @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);
    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);
  }

  @Override
  protected void onActivityResult (int requestCode, int resultCode, Intent data)
  {
    System.out.println ("request " + requestCode + ", result " + resultCode);
  }
}

请注意,永远不会调用 onActivityResult。另请注意,我无法控制联系人编辑代码 - 这是 android 提供的“人”应用程序的一部分。 谢谢。

【问题讨论】:

  • 这可能是“人”ACTION_EDIT 代码中的错误。我提交了以下错误报告,其中还包含整个示例项目的 zip 文件:link。 @CommonsWare

标签: android back start-activity


【解决方案1】:

我为此向 android 提交了一个错误。有人看着它并回答说有一个未记录的解决方法。来自错误报告:

未记录的解决方法是调用 putExtra("finishActivityOnSaveCompleted", true);在 ACTION_EDIT Intent 上。
但是,由于没有记录,我不知道哪个 Android 版本会使用它。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多