AndroidのJAVAコード:タイマーはスレッドタイマ
関連記事
- Oracleのライセンスモデル変更によりJavaのコストが急増する可能性 【2023年04月06日(木)】
- 次期 #Android ではスマホで衛星と通信する――グーグル幹部がツイート 【2022年09月02日(金)】
- 【独自】3ヶ月で壊れる格安スマホ「AQUOS sense5G」不具合をシャープが認めて謝罪 【2022年01月25日(火)】
- 【#デジタル庁】新型コロナワクチン接種証明書アプリ:69900エラー出て証明書が表示されない(怒 【2021年12月20日(月)】
- 【Log4j】ログ管理ソフトに欠陥、Amazonなど調査(21/12/14) 【2021年12月14日(火)】
ゲボボッ!
スレッドタイマーじゃないッスか(汗
っつうことは,スレッド関数内から,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#と同等と思いまする