2017-12-21 76 views
0

datepicker를 사용하고 있습니다. 날짜를 선택하면 Eprevd이라는 Editext에서 설정하고 싶습니다. 그리고 내부 클래스를 만들었습니다. (정적) 이름이 입니다. PickerDialog.javashow (getFragmentManager(), String) 오류가 발생했습니다

하지만 올바른 방법은 없습니다. 또한

pickerDialog.show(getFragmentManager(), "DatePicker"); 

오류는이 성명에서 오류가 - (java.lang.String의 android.app.fragmentmanager) 방법 쇼를 해결할 수없는 여기

는 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); 
     } 
     } 
} 

, 내가 그 오류에 대응하기 위해 무엇을해야합니까 ...? 미리 감사드립니다 ..!

+0

어떤 오류가 발생합니까? – EyadMhanna

+0

오류입니다 - 메서드 show (android.app.fragmentmanager, java.lang.string)를 확인할 수 없습니다 –

+0

Ok 사용하십시오 : show (getSupportFragmentManager(), ""); – EyadMhanna

답변

2

setDateP가 버튼에 의해 호출되고 xml 레이아웃 파일에 설정되어 있다고 가정합니다. 귀하는 AppCompatActivity를 사용하므로 getSupportFragmentManager()를 대신 사용해야합니다. "DatePicker"태그를 사용하지 않고 통화 할 수 있습니다.

+0

지금, 그 활동에 2 개의 편집 텍스트가 있습니다. 그리고 나는 그들에 2 개의 다른 날짜를 설정하고 싶습니다. 그래서 어떻게 편집 텍스트 모두에 대해 동일한 datepicker를 사용할 수 있습니까? –

+0

@AadeshMishra이 대답을 수락하고 나서이 – EyadMhanna

+0

에 대한 다른 질문을 추가하십시오. 나는 그것을 받아 들였습니다.하지만 더 적은 평판 때문에 볼 수 있습니다 .. –