title: cannot run android app with own class which extends SeekBar
body: <p>I'm trying to write an extension to SeekBar to customise it's behaviour.  </p>
  
  <p>I'm having problems getting the most basic form of the new class to run in the emulator.</p>
  
  <p>I can't even get a class that doesn't add any new functionality to start up.</p>
  
  <p>Can anybody tell me what basic thing I'm missing out here?
  Why won't the app initialise correctly when I try to use an ExtendedSeekBar?
  Where do I find details of the exception that has occurred?</p>
  
  <p>I running Eclipse on XP, using Android SDK tools revision 10.
  What other information should I provide?</p>
  
  <p>Thanks for any help.</p>
  
  <hr>
  
  <p>Here's the detail of what I'm trying to do.</p>
  
  <p>Starting from the Hello World tutorial app I extend main.xml to include a standard SeekBar and update HelloAndroid.java to find the object and set the progress to 25.</p>
  
  <p>Here's main.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      &gt;
  &lt;TextView  
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="@string/hello"
      /&gt;
  &lt;SeekBar
      android:id="@+id/SeekBar01"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" 
      /&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>and here's HelloAndroid.java:</p>
  
  <pre><code>package com.example.helloandroid;
  
  import android.app.Activity;
  import android.os.Bundle;
  import android.widget.SeekBar;
  
  public class HelloAndroid extends Activity {
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
  
          SeekBar vSeekBar1 = (SeekBar)findViewById(R.id.SeekBar01);
          vSeekBar1.setProgress(25);
      }
  }
  </code></pre>
  
  <p>I run this and, no problem, the SeekBar appears in the app on the emulator with tthe progress correctly set</p>
  
  <p>No problems so far...</p>
  
  <hr>
  
  <p>So, now I want to start to extend the SeekBar.</p>
  
  <p>I update main.xml to change SeekBar to ExtendedSeekbar</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      &gt;
  &lt;TextView  
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="@string/hello"
      /&gt;
  &lt;ExtendedSeekBar
      android:id="@+id/SeekBar01"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" 
      /&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>and HelloAndroid.java to find the new object</p>
  
  <pre><code>package com.example.helloandroid;
  
  import android.app.Activity;
  import android.os.Bundle;
  import android.widget.SeekBar;
  
  public class HelloAndroid extends Activity {
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
  
          ExtendedSeekBar vSeekBar1 = (ExtendedSeekBar)findViewById(R.id.SeekBar01);
          vSeekBar1.setProgress(25);
      }
  }
  </code></pre>
  
  <p>I create a new class that just contains the new Constructors and an initialise function that is called by each constructor (so I can set a single breakpoint)</p>
  
  <p>ExtendedSeekBar.java</p>
  
  <pre><code>package com.example.helloandroid;
  
  import android.content.Context;
  import android.util.AttributeSet;
  import android.util.Log;
  import android.widget.SeekBar;
  
  public class ExtendedSeekBar extends SeekBar {
  
      public ExtendedSeekBar(Context context) {
          super(context);
          Initialise();
      }
  
      public ExtendedSeekBar(Context context, AttributeSet attrs) {
          super(context, attrs);
          Initialise();
      }
  
      public ExtendedSeekBar(Context context, AttributeSet attrs, int defStyle) {
          super(context, attrs, defStyle);
          Initialise();
      }
  
      void Initialise(){
          Log.i("ESB","ExtendedSeekBar Initialise ");
      }
  }
  </code></pre>
  
  <p>Now, when I run it I get the Debug View appear with the following stack dump</p>
  
  <pre><code>HelloAndroid [Android Application]  
      DalvikVM[localhost:8628]    
          Thread [&lt;1&gt; main] (Suspended (exception RuntimeException))  
              ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1647    
              ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1663 
              ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 117   
              ActivityThread$H.handleMessage(Message) line: 931   
              ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
              Looper.loop() line: 123 
              ActivityThread.main(String[]) line: 3683    
              Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
              Method.invoke(Object, Object...) line: 507  
              ZygoteInit$MethodAndArgsCaller.run() line: 839  
              ZygoteInit.main(String[]) line: 597 
              NativeStart.main(String[]) line: not available [native method]  
          Thread [&lt;8&gt; Binder Thread #2] (Running) 
          Thread [&lt;7&gt; Binder Thread #1] (Running) 
  </code></pre>
  
  <p>The LogCat window contains the following</p>
  
  <pre><code>03-31 17:44:56.628: DEBUG/AndroidRuntime(589): &gt;&gt;&gt;&gt;&gt;&gt; AndroidRuntime START com.android.internal.os.RuntimeInit &lt;&lt;&lt;&lt;&lt;&lt;
  03-31 17:44:56.628: DEBUG/AndroidRuntime(589): CheckJNI is ON
  03-31 17:44:57.518: DEBUG/AndroidRuntime(589): Calling main entry com.android.commands.pm.Pm
  03-31 17:44:57.749: DEBUG/dalvikvm(239): GC_EXPLICIT freed 3K, 54% free 2544K/5511K, external 410K/517K, paused 72ms
  03-31 17:44:57.759: WARN/ActivityManager(61): No content provider found for: 
  03-31 17:44:57.778: WARN/ActivityManager(61): No content provider found for: 
  03-31 17:44:57.817: DEBUG/PackageParser(61): Scanning package: /data/app/vmdl-558475578.tmp
  03-31 17:44:57.909: INFO/PackageManager(61): Removing non-system package:com.example.helloandroid
  03-31 17:44:57.909: INFO/ActivityManager(61): Force stopping package com.example.helloandroid uid=10037
  03-31 17:44:57.979: INFO/Process(61): Sending signal. PID: 577 SIG: 9
  03-31 17:44:58.009: INFO/WindowManager(61): WIN DEATH: Window{40657ca8 com.example.helloandroid/com.example.helloandroid.HelloAndroid paused=false}
  03-31 17:44:58.159: WARN/InputManagerService(61): Got RemoteException sending setActive(false) notification to pid 577 uid 10037
  03-31 17:44:58.597: DEBUG/dalvikvm(61): GC_CONCURRENT freed 483K, 42% free 4431K/7623K, external 809K/1222K, paused 8ms+9ms
  03-31 17:44:58.748: DEBUG/PackageManager(61): Scanning package com.example.helloandroid
  03-31 17:44:58.748: INFO/PackageManager(61): Package com.example.helloandroid codePath changed from /data/app/com.example.helloandroid-1.apk to /data/app/com.example.helloandroid-2.apk; Retaining data and using new
  03-31 17:44:58.768: INFO/PackageManager(61): Unpacking native libraries for /data/app/com.example.helloandroid-2.apk
  03-31 17:44:58.798: DEBUG/installd(35): DexInv: --- BEGIN '/data/app/com.example.helloandroid-2.apk' ---
  03-31 17:44:59.038: DEBUG/dalvikvm(598): DexOpt: load 62ms, verify+opt 15ms
  03-31 17:44:59.058: DEBUG/installd(35): DexInv: --- END '/data/app/com.example.helloandroid-2.apk' (success) ---
  03-31 17:44:59.058: WARN/PackageManager(61): Code path for pkg : com.example.helloandroid changing from /data/app/com.example.helloandroid-1.apk to /data/app/com.example.helloandroid-2.apk
  03-31 17:44:59.058: WARN/PackageManager(61): Resource path for pkg : com.example.helloandroid changing from /data/app/com.example.helloandroid-1.apk to /data/app/com.example.helloandroid-2.apk
  03-31 17:44:59.058: DEBUG/PackageManager(61):   Activities: com.example.helloandroid.HelloAndroid
  03-31 17:44:59.078: INFO/ActivityManager(61): Force stopping package com.example.helloandroid uid=10037
  03-31 17:44:59.178: INFO/installd(35): move /data/dalvik-cache/data@app@com.example.helloandroid-2.apk@classes.dex -&gt; /data/dalvik-cache/data@app@com.example.helloandroid-2.apk@classes.dex
  03-31 17:44:59.178: DEBUG/PackageManager(61): New package installed in /data/app/com.example.helloandroid-2.apk
  03-31 17:44:59.278: INFO/ActivityManager(61): Force stopping package com.example.helloandroid uid=10037
  03-31 17:44:59.369: DEBUG/dalvikvm(129): GC_EXPLICIT freed 3K, 53% free 2850K/5959K, external 1527K/1970K, paused 72ms
  03-31 17:44:59.621: WARN/RecognitionManagerService(61): no available voice recognition services found
  03-31 17:44:59.958: DEBUG/dalvikvm(185): GC_EXPLICIT freed 94K, 52% free 2758K/5703K, external 410K/517K, paused 559ms
  03-31 17:45:00.098: DEBUG/dalvikvm(61): GC_EXPLICIT freed 474K, 43% free 4349K/7623K, external 807K/1222K, paused 138ms
  03-31 17:45:00.198: INFO/installd(35): unlink /data/dalvik-cache/data@app@com.example.helloandroid-1.apk@classes.dex
  03-31 17:45:00.218: DEBUG/AndroidRuntime(589): Shutting down VM
  03-31 17:45:00.249: DEBUG/dalvikvm(589): GC_CONCURRENT freed 101K, 72% free 295K/1024K, external 0K/0K, paused 2ms+2ms
  03-31 17:45:00.249: DEBUG/jdwp(589): Got wake-up signal, bailing out of select
  03-31 17:45:00.249: DEBUG/dalvikvm(589): Debugger has detached; object registry had 1 entries
  03-31 17:45:00.278: INFO/AndroidRuntime(589): NOTE: attach of thread 'Binder Thread #3' failed
  03-31 17:45:01.029: DEBUG/AndroidRuntime(603): &gt;&gt;&gt;&gt;&gt;&gt; AndroidRuntime START com.android.internal.os.RuntimeInit &lt;&lt;&lt;&lt;&lt;&lt;
  03-31 17:45:01.029: DEBUG/AndroidRuntime(603): CheckJNI is ON
  03-31 17:45:01.978: DEBUG/AndroidRuntime(603): Calling main entry com.android.commands.am.Am
  03-31 17:45:02.029: INFO/ActivityManager(61): Force stopping package com.example.helloandroid uid=10037
  03-31 17:45:02.029: INFO/ActivityManager(61): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.helloandroid/.HelloAndroid } from pid 603
  03-31 17:45:02.168: DEBUG/AndroidRuntime(603): Shutting down VM
  03-31 17:45:02.199: INFO/ActivityManager(61): Start proc com.example.helloandroid for activity com.example.helloandroid/.HelloAndroid: pid=612 uid=10037 gids={}
  03-31 17:45:02.248: INFO/AndroidRuntime(603): NOTE: attach of thread 'Binder Thread #3' failed
  03-31 17:45:02.267: DEBUG/dalvikvm(603): GC_CONCURRENT freed 102K, 69% free 322K/1024K, external 0K/0K, paused 4ms+1ms
  03-31 17:45:02.289: DEBUG/jdwp(603): Got wake-up signal, bailing out of select
  03-31 17:45:02.289: DEBUG/dalvikvm(603): Debugger has detached; object registry had 1 entries
  03-31 17:45:03.208: WARN/ActivityThread(612): Application com.example.helloandroid is waiting for the debugger on port 8100...
  03-31 17:45:03.288: INFO/System.out(612): Sending WAIT chunk
  03-31 17:45:03.298: INFO/dalvikvm(612): Debugger is active
  03-31 17:45:03.358: INFO/System.out(612): Debugger has connected
  03-31 17:45:03.409: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:03.608: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:03.808: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:04.018: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:04.218: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:04.419: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:04.628: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:04.828: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:05.038: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:05.248: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:05.449: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:05.648: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:05.859: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:06.058: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:06.268: INFO/System.out(612): waiting for debugger to settle...
  03-31 17:45:06.479: INFO/System.out(612): debugger has settled (1340)
  03-31 17:45:12.150: WARN/ActivityManager(61): Launch timeout has expired, giving up wake lock!
  03-31 17:45:13.158: WARN/ActivityManager(61): Activity idle timeout for HistoryRecord{40556f78 com.example.helloandroid/.HelloAndroid}
  03-31 17:45:18.238: DEBUG/dalvikvm(239): GC_EXPLICIT freed 6K, 54% free 2543K/5511K, external 410K/517K, paused 53ms
  03-31 17:45:23.369: DEBUG/dalvikvm(287): GC_EXPLICIT freed 9K, 54% free 2597K/5639K, external 410K/517K, paused 119ms
  03-31 17:45:28.339: DEBUG/dalvikvm(329): GC_EXPLICIT freed &lt;1K, 54% free 2539K/5511K, external 410K/517K, paused 51ms
  03-31 17:45:33.409: DEBUG/dalvikvm(129): GC_EXPLICIT freed 76K, 51% free 2929K/5959K, external 1542K/1970K, paused 110ms
  03-31 17:45:38.949: DEBUG/SntpClient(61): request time failed: java.net.SocketException: Address family not supported by protocol
  </code></pre>
  
  <p>and the app appears in the emulator without any of the items specified by main.xml, just the title bar.  The breakpoint I set in ExtendedSeekBar::initialise is not encountered.</p>