Android TimePicker 每隔5分钟
Android TimePicker at intervals for 5 minutes
我的问题是我需要每隔 5 分钟执行一次 TimePicker。
我在这里寻找的所有示例
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);
}
}
do not know how to get the time
使用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()));
}
});
我的问题是我需要每隔 5 分钟执行一次 TimePicker。
我在这里寻找的所有示例
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);
}
}
do not know how to get the time
使用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()));
}
});