Android Studio:每秒添加一个数字
Android Studio: Add number every Second
我想显示某个人在某个时间段内的收入情况。为此,我在另一个 activity 中询问每月收入 (=gehalt) 和每周工作时间 (stunden)。然后在第二个 activity 中,我想每秒增加 TextView showGehaltproSekunde (id = textViewZahl) 每秒的收入。
我是初学者,所以我不知道在public void 运行()中到底要写什么。或者还有另一种可能性每秒增加这个数字吗?
我希望有一个人可以帮助我。谢谢!
public class SecondScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondlayout);
Timer t, timer;
Intent getGehalt = getIntent();
float gehalt = getGehalt.getFloatExtra("Gehalt", 0);
Intent getStunden = getIntent();
float stunden = getStunden.getFloatExtra("Stunden", 0);
double gehaltProSekunde = gehalt/4/stunden/3600;
double gehaltProSekundeRounded = Math.round(gehaltProSekunde*1000)/1000.0;
TextView showGehaltProSekunde = (TextView)findViewById(R.id.textViewZahl);
showGehaltProSekunde.setText(gehaltProSekundeRounded+" €");
t = new Timer();
t.scheduleAtFixedRate( new TimerTask() {
@Override
public void run() {
}
});
}
}
例如分析这个:
private Handler mHandler = new Handler();
private boolean wasRun = true;
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
if(wasRun){
//whatever you want to do if run
//you can add you want to increase variable here
}
mHandler.postDelayed(this, 1000);
}
}, 1000); // 1 seconds
只是提供一些与您的问题没有严格关系的建议(@altan yuksel 回答得很好),我只是想对您的计算提出我的意见。
您使用 salary/4/hours 在 week/3600(一小时内的秒数)内工作来计算月薪,但并非所有月份都恰好有 4 个工作周(实际上只有 2 月)。
我可以建议要求年薪并执行:
年薪/52/一周工作小时数/3600
或者用你当前的输入数据:
(月薪*12)/52/一周工作小时数/3600
如果您自己尝试这些,您可能会发现它们更准确一些。
我想显示某个人在某个时间段内的收入情况。为此,我在另一个 activity 中询问每月收入 (=gehalt) 和每周工作时间 (stunden)。然后在第二个 activity 中,我想每秒增加 TextView showGehaltproSekunde (id = textViewZahl) 每秒的收入。 我是初学者,所以我不知道在public void 运行()中到底要写什么。或者还有另一种可能性每秒增加这个数字吗? 我希望有一个人可以帮助我。谢谢!
public class SecondScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondlayout);
Timer t, timer;
Intent getGehalt = getIntent();
float gehalt = getGehalt.getFloatExtra("Gehalt", 0);
Intent getStunden = getIntent();
float stunden = getStunden.getFloatExtra("Stunden", 0);
double gehaltProSekunde = gehalt/4/stunden/3600;
double gehaltProSekundeRounded = Math.round(gehaltProSekunde*1000)/1000.0;
TextView showGehaltProSekunde = (TextView)findViewById(R.id.textViewZahl);
showGehaltProSekunde.setText(gehaltProSekundeRounded+" €");
t = new Timer();
t.scheduleAtFixedRate( new TimerTask() {
@Override
public void run() {
}
});
}
}
例如分析这个:
private Handler mHandler = new Handler();
private boolean wasRun = true;
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
if(wasRun){
//whatever you want to do if run
//you can add you want to increase variable here
}
mHandler.postDelayed(this, 1000);
}
}, 1000); // 1 seconds
只是提供一些与您的问题没有严格关系的建议(@altan yuksel 回答得很好),我只是想对您的计算提出我的意见。
您使用 salary/4/hours 在 week/3600(一小时内的秒数)内工作来计算月薪,但并非所有月份都恰好有 4 个工作周(实际上只有 2 月)。
我可以建议要求年薪并执行:
年薪/52/一周工作小时数/3600
或者用你当前的输入数据:
(月薪*12)/52/一周工作小时数/3600
如果您自己尝试这些,您可能会发现它们更准确一些。