I got this code:
public void make_square(View v) {
TextView txt_wait = (TextView) findViewById(R.id.square_txt);
txt_wait.setText("wait...");
try{
//rest of the code (scanning a bitmap for pixels)
“make_square” is an onClick event (at XML file).
When I click that I want to change a text (txt_wait)
Then after it is changed, he must execute the rest of the code.
But somehow it waits for the rest of the code, then when that code is done, then he changes the txt_wait
I also tried something like this (didn’t work neither):
public void make_square(View v) {
TextView txt_wait = (TextView) findViewById(R.id.square_txt);
txt_wait.setText("wait...");
make_square2(v);
}
public void make_square2(View v){
try{
//rest of the code (scanning a bitmap for pixels)
}
}
But also now, it first does make_square2 before it changes the text.
Why or how can I fix this? That it changes the txt_wait first, then after it, then rest of the code?
Thanks already,
Bigflow
Edit1:
tried this:
public void make_square(final View v) {
TextView txt_wait = (TextView) findViewById(R.id.square_txt);
txt_wait.setText("wait...");
new Thread() {
public void run() {
make_square2(v);
}
}.start();
}
public void make_square2(View v){
try{
//rest of the code
}
}
and it gives my this error:
E/AndroidRuntime(17487): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
I also tried this:
public void make_square(View v) {
TextView txt_wait = (TextView) findViewById(R.id.square_txt);
txt_wait.setText("wait...");
make_square2(v);
}
public void make_square2(View v)
new Thread() {
public void run() {
//rest of the code
}
}.start();
Also this gives the exact same error.
I am not familiar with thread using, maybe I do something very bad.
Hope you can help me again.
I used AsyncTask to get this done, somehow the thread method wasn’t working for me.
I used this tutorial:
http://www.android10.org/index.php/forums/43-view-layout-a-resource/908-tutorial-progressbar-running-in-asynctask
Thanks to AdilSoomro and JayeshPate.