綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] 要怎麼使 timer搭配一個int 數字累加

[複製連結] 查看: 2726|回覆: 3|好評: 0
跳轉到指定樓層
樓主
wind8894 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2012-3-3 00:06

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 wind8894 於 2012-3-3 00:07 編輯

程式是這樣子的,2個textview,一個用來做timer時間累加,然後一個textview做一個int數字累加

每增加一秒就數字+1

例如:1秒  1   ,   2秒     2............等

加入幾串程式碼後,timer就無法繼續累加了,想請問要怎麼使int數字做累加,程式碼要怎修改呢?


程式碼:

  1. package wwss.sss.namespace;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.os.Handler;
  5. import android.widget.TextView;

  6. import android.view.View;



  7. public class Timer1 extends Activity {
  8.     /** Called when the activity is first created. */
  9.         private Long startTime;
  10.         private Handler handler = new Handler();
  11.        
  12.         private TextView tv;
  13.         int i=0;
  14.        
  15.        
  16.     @Override
  17.     public void onCreate(Bundle savedInstanceState) {
  18.         super.onCreate(savedInstanceState);
  19.         setContentView(R.layout.main);
  20.       
  21.         startTime = System.currentTimeMillis();

  22.         handler.removeCallbacks(updateTimer);
  23.    
  24.         handler.postDelayed(updateTimer, 1000);
  25.         
  26.         tv=(TextView)findViewById(R.id.textView2);
  27.     }
  28.    
  29.     private Runnable updateTimer = new Runnable()
  30.     {
  31.                     public void run()
  32.                     {
  33.                         final TextView time = (TextView) findViewById(R.id.textView1);
  34.                         Long spentTime = System.currentTimeMillis() - startTime;
  35.                    
  36.                         Long minius = (spentTime/1000)/60;
  37.                 
  38.                         Long seconds = (spentTime/1000) % 60;
  39.                         time.setText(minius+":"+seconds);
  40.                         handler.postDelayed(this, 1000);
  41.                         
  42.                         i++;
  43.                         tv.setText(i);
  44.                 }
  45.                    
  46.    };
  47.   
  48. }
複製代碼
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
george310909 | 收聽TA | 只看該作者
發表於 2012-3-6 16:23
  1. package wwss.sss.namespace;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.os.Handler;
  5. import android.widget.TextView;

  6. public class TestActivity extends Activity {
  7.         private Long startTime;
  8.         private Handler handler = new Handler();
  9.         private TextView tv1,tv2;
  10.         private int i = 0;
  11.         @Override
  12.         public void onCreate(Bundle savedInstanceState) {
  13.                 super.onCreate(savedInstanceState);
  14.                 setContentView(R.layout.main);
  15.                 tv1 = (TextView) findViewById(R.id.textView1);
  16.                 tv2 = (TextView) findViewById(R.id.textView2);
  17.                 startTime = System.currentTimeMillis();
  18.                 handler.removeCallbacks(updateTimer);
  19.                 handler.postDelayed(updateTimer, 1000);
  20.                
  21.         }
  22.         private Runnable updateTimer = new Runnable() {
  23.                 public void run() {
  24.                         Long spentTime = System.currentTimeMillis() - startTime;
  25.                         Long minius = (spentTime / 1000) / 60;
  26.                         Long seconds = (spentTime / 1000) % 60;
  27.                         tv1.setText(minius + ":" + seconds);
  28.                         i++;
  29.                         tv2.setText("int的值"+String.valueOf(i));
  30.                         handler.postDelayed(this, 1000);
  31.                        
  32.                 }
  33.         };
  34. }
複製代碼
依你的程式碼去改的,雖然有些地方照自己的意思去改...
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| wind8894 | 收聽TA | 只看該作者
發表於 2012-3-6 23:34
感謝喔,終於可以跑了
tv.setText(i); 跟 tv2.setText("int的值"+String.valueOf(i));

原來是要加上String.valueOf 才可以
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
cdgod | 收聽TA | 只看該作者
發表於 2012-3-17 11:04
用 tv.setText(""+i); 就可以了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則