2016-11-08 1 views
-1

Mon problème est que j'ai besoin d'implémenter TimePicker à intervalles de 5 minutes.Android TimePicker à intervalles de 5 minutes

Tous les exemples que je cherchais ici

Android - TimePicker minutes to 15

et ici

How do i change the Android TimePicker minute intervals?

pour moi ne fonctionne pas.

Si je peux, je voudrais voir un exemple complet de travail.

Ce code fonctionne, mais je ne sais pas comment passer le temps ici pour installer, et ne savent pas comment obtenir le temps

import android.content.Context; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.AttributeSet; 
import android.view.View; 
import android.widget.NumberPicker; 
import android.widget.TextView; 
import android.widget.TimePicker; 
import java.lang.reflect.Field; 
import java.util.ArrayList; 
import java.util.Calendar; 
import java.util.Date; 
import java.util.List; 

public class MainActivity extends AppCompatActivity { 

    TimePicker pickStartTime; 
    TextView textwiew; 
    private int TIME_PICKER_INTERVAL = 5; 
    NumberPicker minutePicker; 
    List<String> displayedValues; 


    final Calendar cal = Calendar.getInstance(); 

    private int myHourS = cal.get(Calendar.HOUR_OF_DAY); 
    private int myMinuteS = cal.get(Calendar.MINUTE); 

    int nextMinute = 0; 



    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     textwiew =(TextView)findViewById(R.id.text1); 

     pickStartTime = (TimePicker)findViewById(R.id.timePicker1); 
     pickStartTime.setIs24HourView(true); 

     setTimePickerInterval(pickStartTime); 
    } 


    private void setTimePickerInterval(TimePicker timePicker) { 
     try { 
      Class<?> classForid = Class.forName("com.android.internal.R$id"); 
      // Field timePickerField = classForid.getField("timePicker"); 

      Field field = classForid.getField("minute"); 
      minutePicker = (NumberPicker) timePicker 
        .findViewById(field.getInt(null)); 

      minutePicker.setMinValue(0); 
      minutePicker.setMaxValue(11); 
      displayedValues = new ArrayList<String>(); 
      for (int i = 0; i < 60; i += TIME_PICKER_INTERVAL) { 
       displayedValues.add(String.format("%02d", i)); 
      } 
      // for (int i = 0; i < 60; i += TIME_PICKER_INTERVAL) { 
      //  displayedValues.add(String.format("%02d", i)); 
      // } 
      minutePicker.setDisplayedValues(displayedValues 
        .toArray(new String[0])); 
      minutePicker.setWrapSelectorWheel(true); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public void onClick (View v) { 
     int Minut = pickStartTime.getCurrentMinute(); 
     textwiew.setText(Minut); 
    } 


} 

Répondre

0

ne savent pas comment obtenir le temps

En utilisant OnTimeChangedListener

pickStartTime = (TimePicker)findViewById(R.id.timePicker1); 
pickStartTime.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { 

    public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { 
     Log.d("Time", "You picked " 
       + String.valueOf(view.getCurrentHour()) + ":" 
       + String.valueOf(view.getCurrentMinute())); 
    } 

}); 
+0

Merci, ça marche pour moi. Pouvez-vous me dire comment régler l'heure actuelle? –

+0

setHour et setMinute ... De [la documentation] (https://developer.android.com/reference/android/widget/TimePicker.html) –