【发布时间】:2020-01-09 17:48:58
【问题描述】:
我有两节课 ,我想在其中一个中应用一个函数。 同时,将该函数应用到另一个类。 从某种意义上说: 从 MainActivity 类中调用 ClassTimePickerDialogto 类以显示一个小时。 按下时钟内的按钮后。 我正在对函数 onTimeSet 进行覆盖。 然后它在 Mainactivity 类中耗尽了工作。 然后它执行函数finsh。
类主活动
public class MainActivity extends AppCompatActivity implements android.app.TimePickerDialog.OnTimeSetListener{
Button b1;
DialogFragment timePickerDialog1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button) findViewById(R.id.button);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
timePickerDialog1 = new TimePickerDialog();
timePickerDialog1.show(getSupportFragmentManager(), "timePicker");
}
});
}
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
Log.i("Dofunction", "IsDon"+i);
finish();
}
// End ;
}
类 TimePickerDialog
public class TimePickerDialog extends DialogFragment implements android.app.TimePickerDialog.OnTimeSetListener{
public String AM_PM = "";
public int hourOfDay =0;
public int minute=0;
Context context;
public TimePickerDialog(){
}
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return new android.app.TimePickerDialog(context,this , hour , minute, DateFormat.is24HourFormat(context));
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay_, int minute_){
// "11:06 PM"
if(hourOfDay_>12){
AM_PM = "PM";
hourOfDay_= hourOfDay_-12;
}else{
AM_PM = "AM";
}
hourOfDay=hourOfDay_;
minute=minute_;
}
}
【问题讨论】:
-
请使用有意义的类和方法名称以及您想要实现的目标来编辑您的问题。如果您的代码已经做了正确的事情,请您询问一些不起作用的事情。
-
不明白你的问题。我认为您可以用更少的代码以更好的方式询问它。答案可能是肯定的。
-
我想这个答案对你有用stackoverflow.com/questions/15915318/…