как получить Activity View внутри этого действия? - PullRequest
1 голос
/ 11 ноября 2010

Я хочу показать свое следующее действие с моим предыдущим макетом активности "LinearLyout". Но это не работает. Может ли кто-нибудь помочь?

Я поместил свою последнюю ссылку на макет активности на глобальный класс в статической переменной. Мой код в следующем упражнении выглядит следующим образом

public onCreate () {

View view = findViewById (R.layout.topstory_detail_layout); setContentView (вид); // Мой код

Global.mainActity.contentViewLayout.removeAllViews (); Global.mainActity.contentViewLayout.addView (this.getWindow () getDecorView ().);

Вот исключение

11-11 11: 41: 07.330: ОШИБКА / AndroidRuntime (559): необработанный обработчик: выход из основного потока из-за необработанного исключения 11-11 11: 41: 07.460: ОШИБКА / AndroidRuntime (559): java.lang.RuntimeException: представление com.android.internal.policy.impl.PhoneWindow$DecorView@44c3cc70 добавляется, но у него уже есть родитель 11-11 11: 41: 07.460: ОШИБКА / AndroidRuntime (559): на android.view.View.assignParent (View.java:5721)

Ответы [ 2 ]

0 голосов
/ 11 ноября 2010

Не храните ничего связанного с контекстом в глобальных статических переменных, это приводит к утечкам памяти.

Может быть, вам стоит просто начать второй акт с флагом FLAG_ACTIVITY_CLEAR_TOP . В этом случае новое действие заменит первое.

Также вы можете вызывать метод finish () сразу после startActivity ().

Наконец, вы можете использовать ViewFlipper , чтобы изменить вид деятельности.

0 голосов
/ 11 ноября 2010

Можете ли вы объяснить это лучше, что такое глобальная деятельность?

кстати, если я понимаю, что вы хотите создать группу действий, которая содержит действие http://developer.android.com/reference/android/app/ActivityGroup.html

и вы можете прочитать, что здесь

http://www.mail-archive.com/android-developers@googlegroups.com/msg37528.html

...