У вас есть NullPointerException
, потому что SimpleActivity.onCreate()
вызывается напрямую ComposedActivity
, в то время как предполагается, что он вызывается через Intent
. Поэтому, когда Activity
, суперкласс SimpleActivity
, пытается извлечь Intent
, который использовался для его активации, он находит null
и вылетает, поскольку это неожиданно.
Вдобавок к этому ComposedActivity
простирается Activity
, но вы не звонили super.onCreate()
с ComposedActivity.onCreate()
. Обычно это вызывает следующее исключение:
android.app.SuperNotCalledException:
Activity did not call through to super.onCreate()
Но, читая ваш вопрос, вероятно, по ошибке ComposedActivity
расширяет Activity
. Как я понял вопрос, ComposedActivity
не должен наследоваться от Activity
, но делегировать все вещи Activity
в SimpleActivity
.
Так или иначе, и, несмотря на источник мудрости, которым является Эффективная Ява, еще один источник мудрости способствует наследованию от Activity
как лучшая практика. Более серьезно, даже если код, который мы находим в руководствах, иногда сомнительный, я думаю, что наследование от Activity
- далеко не лучший способ реализации Activity
: это было разработано именно таким образом Android.