【问题标题】:Can i override method Inside different classes?我可以在不同的类中覆盖方法吗?
【发布时间】: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/…

标签: java android


【解决方案1】:

您可以覆盖从父类继承的方法。不是来自其他“随机”java 类的方法。

【讨论】:

  • 覆盖与问题无关。但是,您想在评论中写这种评论,而不是答案。
猜你喜欢
  • 1970-01-01
  • 2016-07-12
  • 1970-01-01
  • 2010-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多