0
progressbar = (ProgressBar) findViewById(R.id.progressBar);
final Thread thread = new Thread(new Runnable() {
@Override
public void run() {
for(int i = 0; i<=80; i++){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
Message message = new Message();
message.arg1 = i;
handler.sendMessage(message);
}
}
}
});
thread.run();
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int value = msg.arg1;
progressbar.setProgress(value);
}
};
}
<RelativeLayout
android:id="@+id/relative"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
xmlns:android="http://schemas.android.com/apk/res/android">
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
xmlns:android="http://schemas.android.com/apk/res/android" />
</RelativeLayout>
を試してみてください。私のコードはありますか? 'postDelayed()'を参照してください –
'thread.run()'の代わりに 'thread.start()'を使います。 'run'を呼び出すと、' run'を呼び出すスレッドと同じスレッド上で実行されます。 'start'は' run'を自分のスレッドで呼び出す結果になります – 0xDEADC0DE
私はthread.start()を試しましたが動作しません – bipin