2016-04-17 4 views
0

Ich habe eine Anwendung erstellt, wo ein Benutzer ein Datum in einem Kalender in meiner Calendar.java Aktivität auswählen kann, wenn der Benutzer dieses Datum wählt Ich möchte es in ein EditText Feld setzen in einer separaten Aktivität namens AddDeadline. Derzeit habe ich einen Kalender und sobald der Benutzer dieses Datum auswählt, bringt es sie zu der separaten Aktivität AddDeadline.java und bringt das Datum als Toaster. Gibt es eine Möglichkeit, wenn der Benutzer ein Datum auswählt, dass es dieses Datum in meinem EditText in meinem AddDeadline.java Aktivitätsfeld setzt.Hinzufügen von Datum aus einem Kalender in EditText in einer anderen Klasse

Mein Code ist wie Brachen

Calendar.java

CalendarView calendar; 

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


    calendar = (CalendarView) findViewById(R.id.calendarView); 
    calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { 

     @Override 
     public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { 
      Toast.makeText(getApplicationContext(), dayOfMonth+ "/" + month + "/" + year, Toast.LENGTH_LONG).show(); 
      startActivity(new Intent(Calender.this, AddDeadline.class)); 
     } 

    }); 
} 

AddDeadline.java

public EditText editDate; 

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

editDate = (EditText)findViewById(R.id.editText3); 


      final EditText edate = (EditText) findViewById(R.id.editText3); 
      edate.setOnClickListener(new View.OnClickListener() 

      { 

       @Override 
       public void onClick (View v){ 
       // TODO Auto-generated method stub 
       //To show current date in the datepicker 
       Calendar mcurrentDate = Calendar.getInstance(); 
       int mYear = mcurrentDate.get(Calendar.YEAR); 
       int mMonth = mcurrentDate.get(Calendar.MONTH); 
       int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH); 

       DatePickerDialog mDatePicker; 
       mDatePicker = new DatePickerDialog(AddDeadline.this, new DatePickerDialog.OnDateSetListener() { 
        public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) { 
         // TODO Auto-generated method stub 
        /*  Your code to get date and time */ 
         selectedmonth = selectedmonth + 1; 
         edate.setText("" + selectedday + "/" + selectedmonth + "/" + selectedyear); 
        } 
       }, mYear, mMonth, mDay); 
       mDatePicker.setTitle("Select Date"); 
       mDatePicker.show(); 
      } 
      } 

      ); 
     } 
+0

Ich schlage vor, einige der Antworten auf ähnliche Fragen auf dieser Seite zu lesen zuerst: http://stackoverflow.com/questions/10309927/update-views-in-one -activity-from-another http://stackoverflow.com/questions/33500624/update-values-from-one-activity-to-another http://stackoverflow.com/questions/13643940/refresh-listview-after-updating -in-another-activity –

Antwort

1

Sie Daten auf Vorsatz setzen können wie

CalendarView calendar; 

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


    calendar = (CalendarView) findViewById(R.id.calendarView); 
    calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { 

     @Override 
     public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { 
      Toast.makeText(getApplicationContext(), dayOfMonth+ "/" + month + "/" + year, Toast.LENGTH_LONG).show(); 
      Intent intent = new Intent(Calender.this, AddDeadline.class) 
      intent.putExtra("date", dayOfMonth+ "/" + month + "/" + year); 
      startActivity(intent); 
     } 

    }); 
} 

get Datum in AddDeadline cl ass durch

String data = getIntent().getExtras().getString("date"); 

wie

@Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_add_deadline); 
    String data = getIntent().getExtras().getString("date"); 

    editDate = (EditText)findViewById(R.id.editText3); 
editDate.setText(date); 


} 
+0

Danke, das funktioniert wie ein Charme und gut erklärt. Als richtig und +1 markiert. –

Verwandte Themen