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