2017-01-13 5 views
0

Ich versuche, einen EditText mit einem DatePickerDialog innerhalb eines .setOnClickListener zu setzen. wo, wenn der Benutzer klickt auf der editText der DatePickerDialog erscheint und dann, nachdem der Benutzer das gewünschte Datum auswählt wird es auf dem editText gesetzt ... etwas wie folgt aus: Android:DatePickerDialog on EditText Click EventLayoutInflater mit DatePicker Dialog

und hier ist mein Code mycode

Irgendwelche Ideen, wie man das macht?

Ich habe versucht, das obige Beispiel und viele mehr, aber nichts scheint in der .SetOnClickListener

Antwort

0

Verwenden Sie diesen Code zu arbeiten:

public class MainActivity extends AppCompatActivity { 
EditText text; 
private int year,currentYear; 
private int month,currentMonth; 
private int day,currentDay; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    text = (EditText)findViewById(R.id.edit); 

    // Get current date by calender 

    final Calendar c = Calendar.getInstance(); 
    year = c.get(Calendar.YEAR); 
    month = c.get(Calendar.MONTH); 
    day = c.get(Calendar.DAY_OF_MONTH); 

    text.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() { 
       @Override 
       public void onDateSet(DatePicker datePicker, int mYear, int mMonth, int mDay) { 
        currentDay = mDay; 
        currentMonth = mMonth+1; 
        currentYear = mYear; 
        text.setText(mDay+"-"+(mMonth+1)+"-"+mYear); 
       } 
      },year,month,day).show(); 
     } 
    }); 
} 

}

Ich habe speichern die Benutzer ausgewählte Jahr, Monat , Tag in currentYear, currentMonth, currentDay.

+0

funktioniert dies innerhalb der .setOnClickListener? Das Formular, das der .setOnClickListener aufruft, hat ein anderes Layout als dieses. – noel293

+0

Verwenden Sie einfach den DatePickerDialog, der den Code in der ** setOnClickListener() ** -Methode von EditText anzeigt. Es wird funktionieren, ich habe es getestet. –

+0

Wie geht das? alles, was ich von außen gesetzt habe, unterstreicht sie rot – noel293

Verwandte Themen