我有这个问题intent.setClass(getActivity,的.class)与意向(这,的.class)
Launching a new activity - android
,不明白为什么原来的代码是错误的。此外,在活动后面更令人困惑,我有下面的代码,它使用getActivity()有什么区别为什么它在一种情况下工作,而不是另一种?
public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
EditText dobText = (EditText)getActivity().findViewById(R.id.editText1);
String dobStr = dobText.getText().toString();
int day = Integer.valueOf(dobStr.replaceAll("([0-9]*)/[0-9]+/[0-9]+","$1"));
int month = Integer.valueOf(dobStr.replaceAll("[0-9]+/([0-9]+)/[0-9]+", "$1"))-1;
int year = Integer.valueOf(dobStr.replaceAll("[0-9]+/[0-9]+/([0-9]+)", "$1"));
return new DatePickerDialog(getActivity(),this, year,month,day);
}
}
,如何是我在这一个
http://developer.android.com/guide/components/fragments.html
不同前面的问题的情况下(搜索 “intent.setClass(getActivity(),DetailsActivity.class);” 找到例如我指的是)
陛下...所以,如果我理解正确的话,我不能用'getActivity'引用一个活动我在,但我倒是应该使用'如果this'或类是匿名的内部' ActivityToReference.this'? – evan54
类Activity中没有getActivity()方法,因为它不会添加任何'this'已经做的事情。 但是,由于Fragment没有从Activity继承,所以它有'getActivity()'方法。 –