SORU
14 Temmuz 2009, Salı


Nasıl önceki etkinlik için bir etkinlik değerleri geçirmek için

Nasıl bir önceki ekran bir ekrandan bir değer geçtim mi?

Bu durum düşünün: iki etkinlik var. İlk ekranda 3 ** tek bir düğme vardır ve ikinci etkinlik 4 ** ve bir düğme vardır.

İlk düğmesine tıklayın sonra ikinci aktivite gitmek zorunda kalır ve burada kullanıcı bir metin kutusuna yazın. O ikinci ekrandan düğmesine basarsa o zaman metin kutusu değerleri ilk etkinlik için harekete geçmesi gerektiğini ve ilk etkinlik TextView görüntülenir.

CEVAP
14 Temmuz 2009, Salı


Eylemler içinde başka bir Aktivite üzerinde gerçekleştirilen yakalamak için üç adım gerektirir.

Fırlatma, ikincil Faaliyet ('ana Etkinliği startActivityForResult kullanarak bir subactivity olarak Metin' Etkinlik Düzenle.

Intent i = new Intent(this,TextEntryActivity.class);    
startActivityForResult(i, STATIC_INTEGER_VALUE);

Sadece bir kullanıcı düğmeyi tıklattığında etkinliğin kapanış yerine subactivity içinde, yeni bir Niyet oluşturun ve ekstra girilen metin değerini dahil paket. O ana geri geçmek setResult önce finish arama ikincil Aktivite yakınlar.

resultIntent = new Intent(null);
resultIntent.putExtra(PUBLIC_STATIC_STRING_IDENTIFIER, enteredTextValue);
setResult(Activity.RESULT_OK, resultIntent);
finish();

Son adım arama Faaliyeti, onActivityResult Metin Giriş etkinliğinden geri aramaları dinlemek için geçersiz kılar. Görüntüleme olmalısın metin değerini almak için geri döndü Niyeti ekstra olsun.

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) {     
  super.onActivityResult(requestCode, resultCode, data); 
  switch(requestCode) { 
    case (STATIC_INTEGER_VALUE) : { 
      if (resultCode == Activity.RESULT_OK) { 
      String newText = data.getStringExtra(PUBLIC_STATIC_STRING_IDENTIFIER);
      // TODO Update your TextView.
      } 
      break; 
    } 
  } 
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • kindlechatmail

    kindlechatma

    25 AĞUSTOS 2010
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011