AndroidのJAVAコード:タイマーはスレッドタイマ
関連記事
- ぎんゆぅ~さんの更新頻度が落ちているときは仕事炎上中(爆 【2025年01月09日(木)】
- 仕事が納まった,のか?一応,拘束解除命令が出たモルモルモル 【2024年12月27日(金)】
- さすがに激務すぎ,ワロタ! 【2024年12月25日(水)】
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
- 【#Kotlin】「ことりん」な実装依頼がキター 【2024年10月17日(木)】
ゲボボッ!
スレッドタイマーじゃないッスか(汗
っつうことは,スレッド関数内から,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#と同等と思いまする