私はあなたが秒単位で稼いだ金額を表示するシンプルな画面を作成しようとしているので、あなたが稼いだ金額で毎秒更新するライブフィードタイプのtextveiwを作成しようとしています。私の電話で実行すると、「無限大」と表示されるだけで、1秒の遅延を追加しようとすると、すべて一緒にフリーズしました。これが私が書いたコードです。誰かがもっと良い方法を知らなかったので、forループを使用しています。私がやろうとしていることを達成するためのより良い方法があります。私に知らせてください。
// Calculate pay per second
double PPS = (HW/3600);
double OTPPS = (OTW/3600);
double HPDPS = (HPD*3600);
double money = 0;
double Reserve = 0;
loc = 0;
// Display
for(int i=0; i<HPDPS & loc!=7; i++)
{
money = (PPS+Reserve);
Reserve = (Reserve+money);
TextView textView = (TextView) this.findViewById(R.id.yourpay);
textView.setText(String.valueOf(money));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
助けてくれてありがとう!
================================================== ====================================
これは編集されたバージョンですが、画面に無限大が表示されるだけの問題がまだあります。これを修正するにはどうすればよいですか?または、タイマー方式を使用するにはどうすればよいですか?
public void sendMessage(View view) {
// Receive messages from options page
Intent intent = getIntent();
double HW = intent.getDoubleExtra(Options.MESSAGE_HW, 0);
double OTW = intent.getDoubleExtra(Options.MESSAGE_OTW, 0);
double HPD = intent.getDoubleExtra(Options.MESSAGE_HPD, 0);
// Calculate pay per second
double PPS = (HW/3600);
double OTPPS = (OTW/3600);
double HPDPS = (HPD*3600);
double money = 0;
double Reserve = 0;
// Display
for(int i=0; i<HPDPS; i++)
{
money = (PPS+Reserve);
Reserve = (Reserve+money);
TextView textView = (TextView) this.findViewById(R.id.yourpay);
textView.setText(String.valueOf(money));
}
// set textView
}