Android 台灣中文網
標題:
要怎麼使 timer搭配一個int 數字累加
[打印本頁]
作者:
wind8894
時間:
2012-3-3 00:06
標題:
要怎麼使 timer搭配一個int 數字累加
本帖最後由 wind8894 於 2012-3-3 00:07 編輯
程式是這樣子的,2個textview,一個用來做timer時間累加,然後一個textview做一個int數字累加
每增加一秒就數字+1
例如:1秒 1 , 2秒 2............等
加入幾串程式碼後,timer就無法繼續累加了,想請問要怎麼使int數字做累加,程式碼要怎修改呢?
程式碼:
package wwss.sss.namespace;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;
import android.view.View;
public class Timer1 extends Activity {
/** Called when the activity is first created. */
private Long startTime;
private Handler handler = new Handler();
private TextView tv;
int i=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startTime = System.currentTimeMillis();
handler.removeCallbacks(updateTimer);
handler.postDelayed(updateTimer, 1000);
tv=(TextView)findViewById(R.id.textView2);
}
private Runnable updateTimer = new Runnable()
{
public void run()
{
final TextView time = (TextView) findViewById(R.id.textView1);
Long spentTime = System.currentTimeMillis() - startTime;
Long minius = (spentTime/1000)/60;
Long seconds = (spentTime/1000) % 60;
time.setText(minius+":"+seconds);
handler.postDelayed(this, 1000);
i++;
tv.setText(i);
}
};
}
複製代碼
作者:
george310909
時間:
2012-3-6 16:23
package wwss.sss.namespace;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;
public class TestActivity extends Activity {
private Long startTime;
private Handler handler = new Handler();
private TextView tv1,tv2;
private int i = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv1 = (TextView) findViewById(R.id.textView1);
tv2 = (TextView) findViewById(R.id.textView2);
startTime = System.currentTimeMillis();
handler.removeCallbacks(updateTimer);
handler.postDelayed(updateTimer, 1000);
}
private Runnable updateTimer = new Runnable() {
public void run() {
Long spentTime = System.currentTimeMillis() - startTime;
Long minius = (spentTime / 1000) / 60;
Long seconds = (spentTime / 1000) % 60;
tv1.setText(minius + ":" + seconds);
i++;
tv2.setText("int的值"+String.valueOf(i));
handler.postDelayed(this, 1000);
}
};
}
複製代碼
依你的程式碼去改的,雖然有些地方照自己的意思去改...
作者:
wind8894
時間:
2012-3-6 23:34
感謝喔,終於可以跑了
tv.setText(i); 跟 tv2.setText("int的值"+String.valueOf(i));
原來是要加上String.valueOf 才可以
作者:
cdgod
時間:
2012-3-17 11:04
用 tv.setText(""+i); 就可以了
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1