【发布时间】:2017-12-21 19:33:33
【问题描述】:
我正在使用日期选择器,当我从中选择日期时,我想将其设置在名为 Eprevd 的 Editext 中,为此我创建了一个名为 的内部类(静态) >PickerDialog.java
但没有找到正确的方法。 并且在此语句中也出现错误
pickerDialog.show(getFragmentManager(), "DatePicker");错误是 -- cannot resolve method show(android.app.fragmentmanager ,java.lang.string)
这里是UpdateActivity.java的代码
public class UpdateActivity extends AppCompatActivity {
int year_x, month_x, day_x;
private static EditText Eprevd;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update);
Eprevd = (EditText)findViewById(R.id.Eupdateprevd);
}
public void setDateP(View view)
{
PickerDialog pickerDialog = new PickerDialog();
//but this line below is giving error..
pickerDialog.show(getFragmentManager(), "DatePicker"); // this line
}
/////////////////////////////////////////
public static class PickerDialog extends DialogFragment
implements DatePickerDialog.OnDateSetListener
{
int year_x, month_x, day_x;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
Calendar cal = Calendar.getInstance();
year_x=cal.get(Calendar.YEAR);
month_x=cal.get(Calendar.MONTH);
day_x=cal.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog;
dialog = new DatePickerDialog(getActivity(),this,year_x,month_x,day_x);
return dialog;
}
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth)
{
year_x = year;
month_x = month + 1;
day_x = dayOfMonth;
Eprevd.setText(day_x + " / " + month_x + " / " + year_x);
}
}
}
现在,我应该怎么做才能解决这个错误..? 提前谢谢..!
【问题讨论】:
-
您遇到的错误是什么?
-
错误是 -- 无法解析方法 show(android.app.fragmentmanager ,java.lang.string)
-
好的,请使用:show(getSupportFragmentManager(), "");
标签: android datepicker dialog fragment