ActivityGroup во вкладке - кнопка "Назад"
Java отвечает отлично, я склонен использовать C# для Android.
В моей ActivityGroup у меня есть этот метод, который запускает и показывает дочернюю активность:
public void StartChildActivity (string Id, Intent intent)
{
intent.AddFlags (ActivityFlags.ClearTop);
Window window = LocalActivityManager.StartActivity (Id, intent);
if (window != null)
{
mIdList.Add (Id);
SetContentView (window.DecorView);
}
}
Однако, когда я обрабатываю кнопку "назад", чтобы "вытолкнуть" представление и вернуть его к предыдущему, приложение закрывается, когда вызывается метод finish:
public override void OnBackPressed ()
{
int length = mIdList.Count;
if (length > 1)
{
Activity current = LocalActivityManager.GetActivity (mIdList [length - 1]);
current.Finish();
}
}
Как мне получить представление "выскочить" вместо закрытия приложения?
1 ответ
Это звучит очень знакомо, пытаясь сделать порт для iOS?
Так я начинаю свою деятельность
String id = "SOME_UNIQUE_ID";
Intent intent = new Intent(context,SomeClass.class);
intent.putExtra("UniqueID", id);
LocalActivityManager m = getLocalActivityManager();
Window w = m.startActivity(id, intent);
setContentView(w.getDecorView());
intentStack.push(intent);
Вот так я заканчиваю свою деятельность на спине
LocalActivityManager m = getLocalActivityManager();
Intent i = intentStack.pop();
m.destroyActivity(i.getStringExtra("UniqueID"),true);
intentStack - это то место, где я храню стек намерений, чтобы я мог снова найти эти действия.
Это должно быть то, что вам нужно, но независимо от того, что вы должны пересмотреть свою потребность использовать TabActivity/ActivityGroup в качестве этого класса, и все подклассы устарели с 2.2 или 2.3. Вы должны рассмотреть возможность перехода к фрагментам и использовать библиотеку поддержки.