0

textView を画面の別の場所に 1 ~ 2 分おきに表示しようとしています (遅延は重要ではありません)。runOnUiThread を使用してタイマーにランダム関数を繰り返しさせ、UI を更新することを提案している人を見てきました。

私は本当にこれらのさまざまなスレッドに頭を悩ませています.誰かが私に例を与えることができるかどうか疑問に思っています. それとも、別のものを使用して調査する必要がありますか?

Public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView textView = (TextView) findViewById(R.id.digitalClock1);  
    Random r = new Random();

    int x = r.nextInt(350 - 100);
    int y = r.nextInt(800 - 100);

    textView.setX(x);  
    textView.setY(y);
}
4

2 に答える 2

0

以下のランナブルとハンドラーを作成します

 private Runnable runnable = new Runnable(){
    @Override
    public void run() {         
        handler.sendEmptyMessage(0);
    }
};
Handler handler = new Handler() {       
    @Override
    public void handleMessage(Message msg) {            
        //change the text position here         
        this.postDelayed(runnable , TIME_OUT_MS);
        }
    }; 

TIME_OUT_MS は、必要なミリ秒単位のタイムアウトです。

そして、これをアクティビティの OnCreate() メソッドに置きます

    Thread thread =new Thread(runnable );
     thread.start();
于 2013-04-22T20:40:20.503 に答える