안드로이드 개발 질문/답변
(글 수 45,052)
for(nProgress = 0; nProgress<=100; nProgress+=1) {
bar.post(new Runnable() {
public void run() {
String yourUrl = "http://cafe.naver.com/kaujongsul/";
String text1 = getHtmltoText(yourUrl);
bar.setProgress(nProgress);
if(text1.equals(temp));
else{
i++;
bar1.setProgress(i);
}
temp = text1;
}
});
SystemClock.sleep(500);
}
for문 안에 이러한 동작들이 있는데요 그냥 이러한 동작을
for문 말고 다른동작은 가능하면서
이동작은 꾸준히 동작하게 하고 싶은데 어떤방식으로 해야하는거죠?>




여러 방법이있겟지요~
쓰레드나 런어블 객체의 run 메소드안에서 무한루프 돌면서 지속적으로 기능이 구현되록하는 방법도 있을것이고,
핸들러를 통해 계속 런어블 객체를 던지시던가 하면될듯하네요;
핸들러를 통해서 계속 setProgress 하는 소스 간단하게 써볼게요오
public class TestRunnableActivity extends Activity {
private ProgressBar bar;
private int progress = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bar = (ProgressBar)findViewById(R.id.progressbar_Horizontal);
mHandler.post(run);
}
Handler mHandler = new Handler();
Runnable run = new Runnable(){
@Override
public void run() {
bar.setProgress(progress);
progress++;
if(progress == 100){
progress = 0;
}
mHandler.postDelayed(this, 500);
}
};
}