title: How to create separate seekBar class
body: <p>Following the instructions here: <a href="https://stackoverflow.com/questions/15011144/how-to-make-custom-seek-bar-in-android">How to make custom seek bar in android?</a> I was able to make my own custom seekbar that draws text inside the thumb. I know want to create my own seekbar class so that I can call it from my activity. I'm running into problems because when I create a seekbar in my main activity it does not work properly. I don't think I have set up the OnSeek Listener correctly. Here is my main class:</p>
  
  <pre><code>public class MainActivity extends Activity {
  
      CustomSeekBar test;
  
      protected void onCreate(Bundle savedInstanceState) {
          // TODO Auto-generated method stub
          super.onCreate(savedInstanceState);
  
          test = (CustomSeekBar) findViewById(R.id.seekBar1);
  
          setContentView(R.layout.activity_main);
  
      }
  
  }
  </code></pre>
  
  <p>Here is my CustomSeekBar class:</p>
  
  <pre><code>public class CustomSeekBar extends SeekBar implements OnSeekBarChangeListener {
  
      String TAG = "TOUCHING";
  
      SeekBar seekbar;
  
      public CustomSeekBar(Context context, AttributeSet attrs) {
      super(context, attrs);
  
      // TODO Auto-generated constructor stub
  }
  
      @Override
      public void onProgressChanged(SeekBar seekBar, int progress,
              boolean fromUser) {
          int value = seekBar.getProgress();
          String valueString = value + "";
          seekBar.setThumb(writeOnDrawable(R.drawable.thumbler_small, valueString));
          Log.d(TAG, "Thumb is being touched");
      }
  
      @Override
      public void onStartTrackingTouch(SeekBar seekBar) {
          // TODO Auto-generated method stub
  
      }
  
      @Override
      public void onStopTrackingTouch(SeekBar seekBar) {
          // TODO Auto-generated method stub
  
      }
  
      public BitmapDrawable writeOnDrawable(int drawableId, String text) {
  
          Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId)
                  .copy(Bitmap.Config.ARGB_8888, true);
  
          Paint paint = new Paint();
  
          paint.setColor(Color.BLACK);
          paint.setTextSize(20);
  
          Canvas canvas = new Canvas(bm);
          canvas.drawText(text, 0, bm.getHeight() / 2, paint);
  
          return new BitmapDrawable(bm);
      }
  
  }
  </code></pre>
  
  <p>Here is my activity_main.xml file:</p>
  
  <pre><code>&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent" &gt;
  
      &lt;SeekBar
          android:name="com.example.customseekbarclass"
          android:id="@+id/seekBar1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_centerVertical="true"
          android:layout_margin="10dp"
          android:indeterminate="false"
          android:paddingLeft="15dp"
          android:paddingRight="15dp"
          android:progressDrawable="@drawable/styled_progress"
          android:thumb="@drawable/thumbler_small" /&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>This is the way my directory is setup:
  <img src="https://i.stack.imgur.com/uiqm8.png" alt="enter image description here">
  How do I setup the SeekBar in my main activity class so that it calls the methods from my SeekBar class?</p>