2017-07-10 73 views
1

我有一個秒錶,當你點擊一個按鈕時,我想這樣做,這個秒錶的時間顯示在文本視圖中。我需要你的幫助在文本視圖中顯示時間

@Override 
protected void onResume() { 
    super.onResume(); 
    chronometer.setBase(SystemClock.elapsedRealtime() - timeMilliseconde); 
    chronometer.start(); 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
    chronometer.stop(); 
    timeMilliseconde = SystemClock.elapsedRealtime() - chronometer.getBase(); 
    Toast.makeText(MainActivity.this, "Elapsed milliseconds: " + timeMilliseconde, 
      Toast.LENGTH_SHORT).show(); 
} 
+0

要以何種格式顯示時間? (小時:分:秒) – akhilesh0707

回答

0

你可以試試這個以毫秒格式化爲一小時敏和第二(00:00:00)

String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), 
       TimeUnit.MILLISECONDS.toMinutes(timeMilliseconde) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(timeMilliseconde)), 
       TimeUnit.MILLISECONDS.toSeconds(timeMilliseconde) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(timeMilliseconde))); 
     Log.d("Time ",hms); 
+0

我希望當我點擊一個停止按鈕時,天文臺將顯示在texview – azed

0

試試這個辦法。這會幫助你。

public class Time extends Activity { 
    Chronometer mChronometer; 
    private SharedPreferences sharedPreferences; 
    @Override 
    protected void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 

     sharedPreferences = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE); 
     LinearLayout layout = new LinearLayout(this); 
     layout.setOrientation(LinearLayout.VERTICAL); 
     mChronometer = new Chronometer(this); 

     layout.addView(mChronometer); 

     Button startButton = new Button(this); 
     startButton.setText("Start"); 
     startButton.setOnClickListener(mStartListener); 
     layout.addView(startButton); 

     Button stopButton = new Button(this); 
     stopButton.setText("Stop"); 
     stopButton.setOnClickListener(mStopListener); 
     layout.addView(stopButton); 

     Button resetButton = new Button(this); 
     resetButton.setText("Reset"); 
     resetButton.setOnClickListener(mResetListener); 
     layout.addView(resetButton); 

     setContentView(layout); 
    } 

    private void showElapsedTime() { 
     long elapsedMillis = SystemClock.elapsedRealtime() - mChronometer.getBase(); 
     Toast.makeText(MyActivity.this, "Elapsed milliseconds: " + elapsedMillis, 
       Toast.LENGTH_SHORT).show(); 
    } 

    View.OnClickListener mStartListener = new View.OnClickListener() { 
     public void onClick(View v) { 
      int stoppedMilliseconds = 0; 

      String chronoText = mChronometer.getText().toString(); 
      String array[] = chronoText.split(":"); 
      if (array.length == 2) { 
       stoppedMilliseconds = Integer.parseInt(array[0]) * 60 * 1000 
         + Integer.parseInt(array[1]) * 1000; 
      } else if (array.length == 3) { 
       stoppedMilliseconds = Integer.parseInt(array[0]) * 60 * 60 * 1000 
         + Integer.parseInt(array[1]) * 60 * 1000 
         + Integer.parseInt(array[2]) * 1000; 
      } 

      mChronometer.setBase(SystemClock.elapsedRealtime() - stoppedMilliseconds); 
      mChronometer.start(); 
     } 
    }; 

    View.OnClickListener mStopListener = new View.OnClickListener() { 
     public void onClick(View v) { 
      mChronometer.stop(); 
     } 
    }; 

    View.OnClickListener mResetListener = new View.OnClickListener() { 
     public void onClick(View v) { 
      mChronometer.setBase(SystemClock.elapsedRealtime()); 
     } 
    }; 

    @Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
     prepareSharedData(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     mChronometer.setText(sharedPreferences.getString("time", "00:00")); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     prepareSharedData(); 
    } 

    public void prepareSharedData(){ 
     String chronoText = mChronometer.getText().toString(); 
     SharedPreferences.Editor editor = sharedPreferences.edit(); 
     editor.putString("time", chronoText); 
     editor.commit(); 
    } 
} 
+0

我想要當我點擊一個停止按鈕時,天文臺將顯示在一個texview – azed

相關問題