2017-12-21 40 views
0

Ich benutze einen Datepicker und wenn ich das Datum aus, ich möchte es in der Editext namens Eprevd setzen und dafür habe ich eine innere Klasse gemacht (Statisch) genannt PickerDialog.javashow (getFragmentManager(), String) gibt Fehler

Aber nicht den richtigen Weg, um es zu tun. und auch Fehler in dieser Aussage bekommen

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

Fehler ist - Methode Show nicht lösen können (android.app.fragmentmanager, java.lang.String)

hier ist der Code von 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); 
     } 
     } 
} 

Nun, was soll ich tun, diesen Fehler zu begegnen ..? Vielen Dank im Voraus ..!

+0

Was ist der Fehler, den Sie bekommen? – EyadMhanna

+0

Fehler ist - Methode kann nicht aufgelöst werden show (android.app.fragmentmanager, java.lang.string) –

+0

Ok bitte verwenden: show (getSupportFragmentManager(), ""); – EyadMhanna

Antwort

2

Ich nehme an, setDateP wird von einer Schaltfläche aufgerufen und in der XML-Layoutdatei festgelegt. Wenn Sie AppCompatActivity verwenden, sollten Sie stattdessen getSupportFragmentManager() verwenden. Sie können aufhören, ihm das "DatePicker" -Tag zu geben, um mit dem Anruf zu gehen.

+0

jetzt habe ich 2 Text bearbeiten in dieser Aktivität .. und ich möchte 2 verschiedene Daten auf ihnen, so wie kann ich den gleichen datepicker für beide Texte bearbeiten ..? –

+0

@AadeshMishra bitte akzeptieren Sie die Antwort, dann fügen Sie eine weitere Frage für diese – EyadMhanna

+0

Ich habe es akzeptiert..aber aufgrund weniger Reputation ist es für Sie sichtbar. –

Verwandte Themen