Нужна помощь по TabActivity - PullRequest
       5

Нужна помощь по TabActivity

2 голосов
/ 08 февраля 2011

Я реализую TabActivity в точности так:

http://blog.henriklarsentoft.com/2010/07/android-tabactivity-nested-activities/

Теперь проблема в том, что у меня есть немного Spinner в действии.Когда я нажимаю, чтобы развернуть Spinner, возникает следующее исключение -

android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@43b957c0 is not valid; is your activity running?

У кого-нибудь есть решение?

Ответы [ 2 ]

4 голосов
/ 13 мая 2011

Проблема в том, что при использовании «нормальной» разметки макета контекст, используемый для раздувания, - это «this», которое является вложенным действием. К сожалению, Activity, вложенная во вкладку (ActivityGroup), не может быть использована для отображения диалогов (я не совсем уверен, почему это так, но это вызывает исключение BadTokenException). Решение, которое я нашел наиболее приемлемым, состоит в том, чтобы не использовать setContentView (int id), а сделать явную инфляцию, используя getParent () в качестве контекста. Как это:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    View contentView = LayoutInflater.from(getParent()).inflate(R.layout.my_layout, null);
    setContentView(contentView);
}
4 голосов
/ 08 февраля 2011

Ошибка может быть связана с контекстом вашего адаптера, попробуйте вместо этого указать getParent () в качестве контекста адаптера.

эта ссылка поможет вам.

...