【问题标题】:show(getFragmentManager(),String) is giving error [duplicate]show(getFragmentManager(),String) 给出错误 [重复]
【发布时间】: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


【解决方案1】:

我假设 setDateP 被一个按钮调用并在 xml 布局文件上设置。您正在使用 AppCompatActivity,因此您应该改用 getSupportFragmentManager()。你可以停止给它“DatePicker”标签来配合调用。

【讨论】:

  • 现在,我在该活动中有 2 个编辑文本.. 我想在它们上设置 2 个不同的日期,那么我怎样才能对两个编辑文本使用相同的日期选择器..?
  • @AadeshMishra 请接受答案,然后为此添加另一个问题
  • 我接受了它..但由于声誉较低,您可以看到它..
  • 任何人都可以建议使用相同日期选择器进行 2 个编辑文本的示例代码
猜你喜欢
  • 2022-12-17
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
相关资源
最近更新 更多