Набор переменных класса в onActivityResult сбрасывается, когда метод возвращается

У меня есть действие, которое позволяет пользователю выбрать номер телефона. Естественно, я хотел бы, чтобы мой класс помнил идентификатор выбранного контакта, таким образом, я сохраняю это в поле класса. Однако, когда метод onActivityResult возвраты, моя переменная класса сбрасывается. Вот то, что я пытаюсь сделать:

    Intent intent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
    startActivityForResult(intent, PICK_CONTACT); 

    ...

    public void onActivityResult(int reqCode, int resultCode, Intent intent){
        super.onActivityResult(reqCode, resultCode, intent);       
        switch(reqCode){
            case(PICK_CONTACT):
                if(resultCode == Activity.RESULT_OK){
                    Uri contactData = intent.getData();
                    Cursor c = managedQuery(contactData, null, null, null, null);
                    if(c.moveToFirst()){
                        contactName = c.getString(c.getColumnIndexOrThrow(People.NAME));
                        contactId = c.getInt(c.getColumnIndexOrThrow(People._ID));

        break;

Когда я установил точку останова в рамках этого метода, значений для contactName и связался, как я ожидаю, однако после того как метод возвращается, значения так или иначе сбрасываются к их значениям по умолчанию. Очевидно я пропускаю что-то, но я не уверен, что я делаю неправильно или забываю.

Спасибо!

Iva

6
задан ivcheto 16 January 2010 в 02:31
поделиться