2012-11-03 6 views
0

내 작은 테스트 앱은 모든 연락처를 표시하는 ListActivity입니다. 사용자가 하나를 클릭하면 "people"ACTION_EDIT 활동이 열립니다. 이것은 잘 작동합니다. 사용자가 "뒤로"를 클릭하거나 다른 방법으로 편집을 마친 경우 내 활동으로 돌아가는 것이 아니라 기본 "사람"목록 활동이 시작됩니다.뒤로 버튼이 이전 활동으로 돌아 가지 않음

왜 이런 일이 발생합니까? onActivityResult를가 호출되지 않습니다

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

참고 :

여기 내 코드입니다. 또한 나는 콘택트 편집 코드에 대한 통제권이 없다는 사실을 깨달으십시오 - 그것은 안드로이드와 함께 제공되는 "사람"앱의 일부입니다. 감사합니다. .

+0

"사람"ACTION_EDIT 코드의 버그 일 수 있습니다. 나는 전체 샘플 프로젝트의 zip 파일을 포함하고있는 다음 버그 보고서를 제출했다. [link] (https://code.google.com/p/android/issues/detail?can=4&start=0&num=100&q=&colspec = ID % 20Type % 20Status % 20Owner % 20Summary % 20Stars & groupby = & sort = & id = 39262). @ CommonSWare –

답변

0

나는 이것에 대해 안드로이드에 버그를 제출했다. 누군가 그것을 살펴본 후 문서화되지 않은 해결책이 있다고 응답했습니다. 버그 보고서에서 :

문서화되지 않은 해결 방법은 putExtra ("finishActivityOnSaveCompleted", true)를 호출하는 것입니다. ACTION_EDIT 인 텐트에.
그러나 이것은 문서화되지 않았으므로 어떤 Android 버전에서 사용할지 모릅니다.

나는 그것을 시험해 보았다. 사용하고있는 안드로이드 버전에서 작동한다 : 4.1.2. 자세한 내용은 issue 39262을 참조하십시오.

관련 문제