AndroidのJAVAコード:タイマーはスレッドタイマ
関連記事
- 【#Kotlin】「ことりん」な実装依頼がキター 【2024年10月17日(木)】
- 【#JAVA】月曜朝からドカンドカン,モノ書きしてるぞー すでに1週間分のエネルギーを使い切った(爆 【2024年10月07日(月)】
- 【#JAVA】もう1週間オワタ!ずっとJAVAってた!明日もちょいと仕事しまする 【2024年10月04日(金)】
- 【#JAVA】たった1行の不具合対策に8時間もかかってしもうた 【2024年09月17日(火)】
- Oracleのライセンスモデル変更によりJavaのコストが急増する可能性 【2023年04月06日(木)】
ゲボボッ!
スレッドタイマーじゃないッスか(汗
っつうことは,スレッド関数内から,UIへの描画はご法度の法則が発動しそうじゃなぁ
C#もご法度です
Handlerクラスを使って,UI側の主スレッドに対して
描画の依頼をぶん投げる,って作戦ですな
C#と似たような実装
こんな感じ?(サンプルで作った,ストップウオッチの残骸コード(汗)
public class BmClickEventClass implements OnClickListener { public BmTestUITestclass Parent; public Float m_LapTime = 0.0f; BmTimerTask m_timerTask = null; Timer m_Timer = null; Handler m_Handler = new Handler(); //UI Threadへのpost用ハンドラ public void onClick(View arg0) { // TODO 自動生成されたメソッド・スタブ Button btn = (Button)arg0; switch( btn.getId() ){ //スタートボタンが押されたとき case R.id.button2: if(m_Timer == null){ //タイマーの初期化処理 m_timerTask = new BmTimerTask(); m_LapTime = 0.0f; m_Timer = new Timer(true); m_Timer.schedule( m_timerTask, 100, 100); } break; //ストップボタンが押されたとき case R.id.button3: if(m_Timer != null){ m_Timer.cancel(); m_Timer = null; } break; default: break; } } class BmTimerTask extends TimerTask{ @Override public void run() { // mHandlerを通じてUI Threadへ処理をキューイング m_Handler.post( new Runnable() { public void run() { //実行間隔分を加算処理 m_LapTime += 0.1f; //計算にゆらぎがあるので小数点第1位で丸める BigDecimal bi = new BigDecimal(m_LapTime); float outputValue = bi.setScale(1, BigDecimal.ROUND_HALF_UP).floatValue(); //現在のLapTime Parent.m_TextView.setText(Float.toString(outputValue)); //UIへカキコ } }); } } }
え~と、描画って、グリッドへの読み込みデータ設定とかも?
>>康ちゃん@お仕事ちぅ さま
グリッドって,グリッドビューコンポっぽいの??
とにかく,UIが絡むものは,書けないはず.
C#と同等と思いまする