I am using a custom title view and would like to show/hide a progressbar in the title view when a thread is working.
This is my title view\'s XML
<
Few Things to try:
1) (This probably isn't it) Make sure "titleProgress
" is volatile.
2) Try throwing a few postInvalidate()
or titleProgress.postInvalidate()
in there to trigger a redraw.
3) Have you sacraficed a x486 machine on an alter resembling a giant green robot? (just kidding)
Let me know if those first two (and if you're really desperate, the third) get you anywhere.
use Communication with Handlers ,
run()
: you should send a message to the Handler which will update the progressBar (Horizontal of course ) : handler.sendMessage(handler.obtainMessage());
in your Activity , you should override the method handleMessage(Message msg )
: like this
handler = new Handler(){
@override
public void handleMessage(Message msg )
{
//here you write the code which will update your progressBar
}
};
Is your layout correct? Did you try to get this working with a vertical layout first? Just to see if the progress bar is visible when you start your activity?
What you should use in this case is AsyncTask, see http://developer.android.com/reference/android/os/AsyncTask.html
If you're not targeting a pre-1.5 version of Android, you will have to use a different class called UserTask. See http://android-developers.blogspot.com/2009/05/painless-threading.html
Try changing the style of the ProgressBar to horizonal:
style="?android:attr/progressBarStyleHorizontal"
The original
style="?android:attr/progressBarStyleSmall"
gives a circular "progressbar" which can't be fully seen in the titlebar.