2017-08-18 12 views
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"/> 

答えて

0

私はそれを考え出しました。クリックすると、テキストビューを呼び出してその中にテキストを設定する必要があります。ここで

クリック方式の中でそれを追加し、質問に提供されたコードで動作する例です。

txtView.setText(txtTimer.getText().toString()); 
関連する問題