我有一个关于编写应用程序启动时显示的句子的简单应用程序。唯一的问题是,我需要应用程序来计算用户编写句子所花费的时间...就像当你触摸“提交”时按钮,Toast消息会说“那是正确的!,你花了3.2秒”作为例子。
我听说您可以设置一个计时器,以便在特定操作发生时启动...您可以命令它停止。
所以,假设计时器将在您启动应用程序时启动,当您触摸“提交”按钮时它将停止,并提供如上所述的干杯消息,计算您在启动后写入感知的确切时间应用程序! *
以下是应用代码希望它有所帮助:*
Button w;
TextView t;
EditText e;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
w = (Button) findViewById(R.id.Write);
t= (TextView) findViewById(R.id.FTS);
e = (EditText) findViewById(R.id.Text);
w.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String check1 = t.getText().toString();
String check2 = e.getText().toString();
if (check1.equals(check2))
Toast.makeText(MainActivity.this,"You Wrote it Right !!!",Toast.LENGTH_LONG).show();
else if (check2.equals(""))
Toast.makeText(MainActivity.this,"It's Empty",Toast.LENGTH_LONG).show();
else
Toast.makeText(MainActivity.this,"You wrote it wrong,try again !",Toast.LENGTH_LONG);
我对Android很新,所以我真的不知道该怎么做,谢谢你的时间。*
答案 0 :(得分:11)
您可以使用Timer
类来启动计时器会话。请按照以下步骤操作:
1-定义Timer
的全局变量和变量来计算时间,如:
private Timer t;
private int TimeCounter = 0;
2-然后当活动开始时,所以在onCreate
中添加以下内容: P.S:我做的是我有一个textView来显示他在写句子时的时间。因此,如果您不想要,可以删除以下代码中的tvTimer
部分
t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
runOnUiThread(new Runnable() {
public void run() {
tvTimer.setText(String.valueOf(TimeCounter)); // you can set it to a textView to show it to the user to see the time passing while he is writing.
TimeCounter++;
}
});
}
}, 1000, 1000); // 1000 means start from 1 sec, and the second 1000 is do the loop each 1 sec.
然后单击该按钮时,停止计时并在timeCounter
中显示Toast
变量。
t.cancel();//stopping the timer when ready to stop.
Toast.makeText(this, "The time taken is "+ String.valueOf(TimeCounter), Toast.LENGTH_LONG).show();
P.S:您必须处理将秒数转换为分钟数,因为数字可能会延长至360秒,因此您需要将其转换为6分钟。您可以在t.schedualeAtFixedRate
中完成,或者在完成后可以将其转换并在吐司中显示
答案 1 :(得分:6)
让我引导您注意Chronometer Widget on the Dev Page
此外,您还可以使用Chronometer Widget(跳至8:30)获得的内容
<强> XML 强>
<Chronometer
android:id="@+id/chronometer1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<强>爪哇强>
((Chronometer) findViewById(R.id.chronometer1)).start();
((Chronometer) findViewById(R.id.chronometer1)).stop();