2016-03-29 12 views
0

Bir A faaliyetim var ve bir araç çubuğu öğesine bastığımda, startActivity (amaç) kullanarak B etkinliğini başlatır. Geri düğmesine veya yukarı gezinme simgesine her bastığımda, uygulamam kapanır. Benim ana etkinliğimde launchMode = "singleTop" kullanıyorum çünkü (çünkü ben bir Arama Görünümü ve aranabilir bir yapılandırma var çünkü kullanıyorum çünkü arama için benim etkinlik başka bir örneğini başlatmak istemiyorum çünkü)). Yani soru şu: Uygulamamı kapatmadan hem gezinme hem de geri düğmesi kullanarak çocuk etkinliğinden (B) ana etkinliğe (A) nasıl geri dönebilirim? Bunu aradım ve onNewIntent() hakkında bir şey buldum. Bu benim çözümümse, onu nasıl düzgün kullanmalıyım?Yukarı Navigasyon ve tekTop başlatma modu

 <activity 
      android:name="com.example.fernando.inspectionrover.MainActivity" 
      android:screenOrientation="landscape"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <action android:name="android.intent.action.SEARCH" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
      <meta-data 
       android:name="android.app.searchable" 
       android:resource="@xml/searchable" /> 
     </activity> 
     <activity 
      android:name="com.example.fernando.inspectionrover.BluetoothSettingsActivity" 
      android:parentActivityName="com.example.fernando.inspectionrover.MainActivity" 
      android:screenOrientation="landscape"> 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.example.fernando.inspectionrover.MainActivity" /> 
İşte

benim yeni etkinlik başlatma nasıl: Burada


benim bildirim dosyası olduğunu

switch (id) { 
      case R.id.bluetoothActivity: 
       Intent switchActivity = new Intent(this, BluetoothSettingsActivity.class); 
       startActivity(switchActivity); 
       Log.i(LIFE_CYCLE, "Switching from " + getLocalClassName() + " to Bluetooth Setting Activity"); 
       finish(); 
       break; 
     } 

cevap

2

Sadece en kolay cevabı almak için uğraşabilirim ama sanırım asıl sorun şu anda aramanızdır. Yeni aktiviteyi başlatırsınız.Bu arama aktivitesi için yok etmeye ve aktivite yığından kaldırır.

+0

tam olarak sorun şu: p –

+0

Sizin vesileniz sadece sizden daha fazlasını almak için ün kazandı. –

2

Single Top demektir ki zaten bir etkinlik başlatmak eğer top, tekrar oluşturulmayacak.

Geri navigasyon uygulamasının kapanmasının nedeni, yeni bir etkinlik başlattıktan hemen sonra finish() numaralı telefonu aramanızdır. Bu, artık o etkinliğe ihtiyaç duymayacağınız anlamına gelir, dolayısıyla yığıntan kaldırılır. Eğer etkinlikB'ye geri dönerseniz, uygulama kapanacaktır çünkü geri dönecek hiçbir şey olmadığından ('u hatırladınız mı?