Моя проблема заключается в том, что мне нужно использовать TimePicker с интервалом в 5 минут.Android TimePicker с интервалом 5 минут
Все примеры, которые я искал здесь
Android - TimePicker minutes to 15
и здесь
How do i change the Android TimePicker minute intervals?
для меня не работает.
Если возможно, я хотел бы увидеть полный рабочий пример.
Этот код работает, но я не знаю, как пройти время здесь, чтобы установить, и не знаю, как получить время
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);
}
}
Спасибо, это работает для меня. Можете ли вы рассказать мне, как установить текущее время? –
setHour и setMinute ... Из [документации] (https://developer.android.com/reference/android/widget/TimePicker.html) –