I'm having the same error, and ever everything is equal to your
example

On Nov 16, 7:53 pm, Mario <[email protected]> wrote:
> i want to change the color of progressbar  as the cursor is moved, but
> setProgressDrawable() seems to work only within OnCreate() method, if
> i change the ProgressDrawable inside onProgressChanged method
> inspecting mSeekBar i can see that the value of Currentdrawable and
> ProgressDrawable is updated but the progressbar disappear and it
> reappears only when the progressdrawable  changes back to the old value
> (the one set in the onCreate method)
>
> public void onProgressChanged(SeekBar seekBar, int progress,boolean
> fromTouch) {
>      seekBar.setProgressDrawable(new_drawable);
>
> }
>
> Full code:
> public class SeekBar2 extends Activity implements
> SeekBar.OnSeekBarChangeListener {
>         SeekBar mSeekBar;
>         TextView mProgressText;
>         TextView mTrackingText;
>         static LayerDrawable mdrawable_green;
>         static LayerDrawable mdrawable_blue;
>         static LayerDrawable mdrawable_red;
>
>         enum BarColor {
>                 RED, BLUE, GREEN;
>                 LayerDrawable getDrawable(){
>                         switch(this){
>                         case RED: return mdrawable_red;
>                         case BLUE: return mdrawable_blue;
>                         case GREEN: return mdrawable_green;
>                         default : return mdrawable_red;
>                         }
>                 }
>         };
>         BarColor mcolor;
>
>         public BarColor getColor() {
>                 return mcolor;
>         }
>
>         public void setColor(SeekBar seekbar,BarColor color) {
>                 this.mcolor = color;
>                 seekbar.setProgressDrawable(color.getDrawable());
>         }
>
>         /** Called when the activity is first created. */
>         @Override
>         public void onCreate(Bundle savedInstanceState) {
>                 super.onCreate(savedInstanceState);
>                 setContentView(R.layout.main);
>                 mSeekBar = (SeekBar) findViewById(R.id.seek);
>                 mdrawable_green = (LayerDrawable) 
> this.getResources().getDrawable
> (R.drawable.pgreen);
>                 mdrawable_blue = 
> (LayerDrawable)this.getResources().getDrawable
> (R.drawable.pblue);
>                 mdrawable_red = (LayerDrawable)this.getResources().getDrawable
> (R.drawable.pred);
>
>                 setColor(mSeekBar ,BarColor.RED);
>                 mSeekBar.setOnSeekBarChangeListener(this);
>                 mProgressText = (TextView) findViewById(R.id.progress);
>                 mTrackingText = (TextView) findViewById(R.id.tracking);
>
>         }
>
>         public void onProgressChanged(SeekBar seekBar, int progress,
>                         boolean fromTouch) {
>                 mProgressText.setText(progress + " " + "seekbar_from_touch"
>                                 + "=" + fromTouch);
>
>                 BarColor color;
>                 if(progress < 33)
>                         color = BarColor.RED;
>                 else if ((progress>=33) && (progress<66))
>                         color = BarColor.BLUE;
>                 else
>                         color = BarColor.GREEN;
>                 if(color!=mcolor)
>                         setColor(seekBar,color);
>
>         }
>
>         public void onStartTrackingTouch(SeekBar seekBar) {
>                 mTrackingText.setText("seekbar_tracking_on");
>         }
>
>         public void onStopTrackingTouch(SeekBar seekBar) {
>                 mTrackingText.setText("seekbar_tracking_off");
>         }
>
> }
>
> main.xml:
> <?xml version="1.0" encoding="utf-8"?>
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
> android"
>     android:orientation="vertical"
>     android:layout_width="fill_parent"
>     android:layout_height="fill_parent">
>
>         <SeekBar    android:id="@+id/seek"
>
>                                 android:layout_width="fill_parent"
>                                 android:layout_height="wrap_content"
>                                 android:max="100"
>                                 android:progress="0"
>                                 android:secondaryProgress="0"
>           />
>
>     <TextView android:id="@+id/progress"
>         android:layout_width="fill_parent"
>         android:layout_height="wrap_content" />
>
>     <TextView android:id="@+id/tracking"
>         android:layout_width="fill_parent"
>         android:layout_height="wrap_content" />
> </LinearLayout>
>
> pblue.xml(pred.xml and pgreen.xml are different only for the progress
> layer):
>
> <?xml version="1.0" encoding="utf-8"?>
> <layer-list xmlns:android="http://schemas.android.com/apk/res/
> android">
>
>     <item android:id="@android:id/background">
>         <shape>
>             <corners android:radius="5dip" />
>             <gradient
>                     android:startColor="#ff9d9e9d"
>                     android:centerColor="#ff5a5d5a"
>                     android:centerY="0.75"
>                     android:endColor="#ff747674"
>                     android:angle="270"
>             />
>         </shape>
>     </item>
>
>     <item android:id="@android:id/secondaryProgress">
>         <clip>
>             <shape>
>                 <corners android:radius="5dip" />
>                 <gradient
>                         android:startColor="#80ffd300"
>                         android:centerColor="#80ffb600"
>                         android:centerY="0.75"
>                         android:endColor="#a0ffcb00"
>                         android:angle="270"
>                 />
>             </shape>
>         </clip>
>     </item>
>
>     <item android:id="@android:id/progress">
>         <clip>
>             <shape>
>                 <corners android:radius="5dip" />
>                 <gradient
>                         android:startColor="#ff0099CC"
>                         android:centerColor="#ff3399CC"
>                         android:centerY="0.75"
>                         android:endColor="#ff6699CC"
>                         android:angle="270"
>                 />
>             </shape>
>         </clip>
>     </item>
>
> </layer-list>
>
> Can someone help me?
>
> thanks

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

Reply via email to