【发布时间】:2018-04-05 15:07:45
【问题描述】:
我正在使用lib betterpickers,我尝试制作一个类以OOP形式获取其信息,但该方法没有返回,它是一个void,有没有办法获得这个返回?
public class Inflate implements CalendarDatePickerDialogFragment.OnDateSetListener{
private static final String FRAG_TAG_DATE_PICKER = "fragment_date_picker_name";
public void piker(FragmentManager supportFragmentManager){
CalendarDatePickerDialogFragment cdp = new CalendarDatePickerDialogFragment()
.setOnDateSetListener(this);
cdp.show(supportFragmentManager, FRAG_TAG_DATE_PICKER);
}
@Override
public void onDateSet(CalendarDatePickerDialogFragment dialog, int year, int monthOfYear, int dayOfMonth) {
//This is the method
}
}
我在 MainActivity 中这样称呼它:
Inflate inflate = new Inflate();
tes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inflate.piker(getSupportFragmentManager());
}
});
我已经尝试过类似 onDateSet 调用另一个方法:
@Override
public void onDateSet(CalendarDatePickerDialogFragment dialog, int year, int monthOfYear, int dayOfMonth) {
getData(year + "/" + monthOfYear + "/" + dayOfMonth);
}
public String getData(String data){
return data;
}
但是,如果我打电话给派克,我将如何获得此反馈?这就是问题所在,有什么办法吗?因为在这个活动中,我有 4 个必须定义日期的地方,如果对于每个地方我都必须执行不同的方法,那么代码会变得很大。
【问题讨论】:
-
@ADM 我看到了,不太明白,我是java kkkk的新手,如果你能用我的代码做一个例子我感谢:v
-
使用监听接口。上面的链接显示了如何!您的代码中已经有一个监听器
CalendarDatePickerDialogFragment.OnDateSetListener,所以您知道它是如何工作的。 -
@ADM 我弄好了,如果你想看看,谢谢