我的活动中有一个方法:
// activity.class
private void setDate(int year) {
view.setText(new StringBuilder().append(year));
}
我需要在调用DatePickerDialog
的{{1}}时调用此方法:
OnDateSetListener
// DatePickerDialogFragment.class
public class DatePickerDialogFragment extends DialogFragment {
private DatePickerDialog.OnDateSetListener l = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(int year) {
<activity>.setDate(year)
}
}
}
(或者我要求这样做)包含对需要设置的视图的引用。如何在<activity>
?
我尝试过这样的事情:
DialogFragment
但是如何在//activity.class
DatePickerDialogFragment frag = new DatePickerDialogFragment(this);
类文件中访问活动的方法?
答案 0 :(得分:1)
1)创建一个界面并让活动实现它:
interface DataSetter {
void setDate(int year);
}
YourActivity extends Activity implements DataSetter {
public void setDate(int year) {
textView.setText(year+"");
}
}
2.1)
@Override
public void onDateSet(int year) {
Activity activity= getActivity();
if (activity != null && activity instanceof DataSetter) {
(DataSetter)activity.setDate(year)
}
}
2.2)或将活动绑定到onAttach中的字段并在之后使用它。