I've got a tab host activity started from a home screen shortcut.
When my application starts it downloads information from a server
using an AsyncTask. In the onPostExecute method of the AsyncTask I
call setContentView to display the TabHost.

When I start the homescreen shortcut by tapping on the shortcut using
my finger everything works as expected, I download the information
from the server and display the TabHost with the information in the
tabs.

However starting the application by navigating to the shortcut with
the mouse wheel and then clicking on the shortcut with the mouse wheel
leads to a trap in the framework code as soon as my application
starts.  The stack trace is below:

11-04 15:45:40.113: ERROR/AndroidRuntime(3360): Uncaught handler:
thread main exiting due to uncaught exception
11-04 15:45:40.213: ERROR/AndroidRuntime(3360): java.lang.NullPointerException
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
android.widget.TabHost.onTouchModeChanged(TabHost.java:179)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
android.view.ViewTreeObserver.dispatchOnTouchModeChanged(ViewTreeObserver.java:591)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
android.view.ViewRoot.ensureTouchModeLocally(ViewRoot.java:1877)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
android.view.ViewRoot.performTraversals(ViewRoot.java:715)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
android.view.ViewRoot.handleMessage(ViewRoot.java:1613)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
android.os.Handler.dispatchMessage(Handler.java:99)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
android.os.Looper.loop(Looper.java:123)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
android.app.ActivityThread.main(ActivityThread.java:4203)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
java.lang.reflect.Method.invokeNative(Native Method)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
java.lang.reflect.Method.invoke(Method.java:521)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
11-04 15:45:40.213: ERROR/AndroidRuntime(3360):     at
dalvik.system.NativeStart.main(Native Method)

Looking at the code for the TabHost class I see the following code at
the point where the trap occurs

    public void onTouchModeChanged(boolean isInTouchMode) {
        if (!isInTouchMode) {
            // leaving touch mode.. if nothing has focus, let's give it to
            // the indicator of the current tab
TRAP ON THIS LINE ---->             if (!mCurrentView.hasFocus() ||
mCurrentView.isFocused()) {

mTabWidget.getChildTabViewAt(mCurrentTab).requestFocus();
            }
        }
    }

This looks like a simple fix since mCurrentView is null at the time
that this method is called - can this issue be addressed? Does anyone
know of any workarounds?

Thanks
Lee

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to