2017-01-05 2 views
-1

У меня есть 2 действия, активность A имеет веб-представление и активность B имеет кнопку с прозрачной компоновкой. Я хочу, чтобы закрыть активность B и обновить или сделать что-то в деятельности А когда я нажимаю кнопку от активности B. Я попытался общие предпочтения, но это не работает без перезагрузки активности А.Как я могу выполнить действие в другом действии? Android

ответ

1

Посмотрите в документации для Getting a Result from an Activity

Обновлено включить пример

static final int PICK_CONTACT_REQUEST = 1; // The request code 
... 
private void pickContact() { 
    Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts")); 
    pickContactIntent.setType(Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers 
    startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST); 
} 


@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // Check which request we're responding to 
    if (requestCode == PICK_CONTACT_REQUEST) { 
     // 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) 
     } 
    } 
} 
+1

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/14798508) –

+0

Очень хороший момент, обновленный :) – Isaac

+0

Большое спасибо lsaac Payne –

-1

создать метод, как refreshmethod в активность а и вызывать его из активности B-то вроде этого:

ActivityA activitya: 
//stuff 
activitya = new ActivityA(); 
button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      activitya.refreshmethod(); 
     } 
    }); 

надеюсь, что это поможет.

+0

Вы не можете использовать новое для своей деятельности (это будет компилировать, но не работать). Даже если бы вы могли, это создало бы новую ActivityA, а не ссылку на существующую. –

+0

u означает «новый» внутри действия или с деятельностью? – Simo

+0

С деятельностью. новый ActivityA создаст объект, но он не начнет Activity, и он не будет таким же, как ранее запущенная версия ActivityA. –

Смежные вопросы