0
要するに、時間を取得して、それを他の場所のTextviewに表示するにはどうすればいいですか?ウォッチラッピングを停止するバリアントのように、タイマーが停止すると自動的に一部のビューが更新されますか?ストップウォッチの現在時刻を取得する方法は?
適切なラッピングに関するリソースやその他の例がandroid studio time tracking featuresの場合は、それらを含めてください。
ここにいくつかの作業があります。 Javaのストップウォッチコード:
package com.example.temp1.stackoverflowquestion;
import android.os.Handler;
import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
//Timer Text and Button
TextView txtTimer;
Button btn;
//Stop Watch logic
Handler handler;
long StartTime,timeInMilliseconds,TimeBuff,UpdateTime =0L;
int Seconds, Minutes, MilliSeconds;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtTimer = (TextView) findViewById(R.id.Timer_Value);
btn = (Button)findViewById(R.id.btnStart_Stop);
btn.setText("Start");
handler = new Handler() ;
//start/stop timer and change text
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (btn.getText().toString() == "Start") {
btn.setText("Stop");
StartTime = SystemClock.uptimeMillis();
handler.postDelayed(runnable, 0);
} else {
btn.setText("Start");
TimeBuff += timeInMilliseconds;
handler.removeCallbacks(runnable);
}
}
});
}
//Stop Watch logic
public Runnable runnable = new Runnable() {
@Override
public void run() {
timeInMilliseconds = SystemClock.uptimeMillis()-StartTime;
UpdateTime = TimeBuff+timeInMilliseconds;
Seconds=(int)(UpdateTime/1000);
Minutes=Seconds/60;
Seconds%=60;
MilliSeconds=(int)(UpdateTime%1000);
txtTimer.setText(""+Minutes+":"
+String.format("%02d",Seconds)+":"
+String.format("%03d",MilliSeconds));
handler.postDelayed(this,0);
}
};
}
ここではその.xmlファイルのレイアウトコードです:
<TextView
android:id="@+id/Timer_Value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textColor="#000"
android:layout_margin="20dp"
android:text="00:00:00"
android:textSize="50sp"/>
<Button
android:id="@+id/btnStart_Stop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"/>