2016-07-07 39 views
0

Dies ist, was meine Datepicker wie in meinem MainActivity2 sehenNotwendigkeit, eine Datumsauswahl auf der zweiten Seite in das Hauptlayout mit der Countdown-Anzeige verbindet

public class MainActivity2 extends ActionBarActivity { 
    Button btn; 
    int year_x, month_x, day_x; 
    static final int DIALOG_ID = 0; 

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

     final Calendar cal = Calendar.getInstance(); 
     year_x = cal.get(Calendar.YEAR); 
     month_x = cal.get(Calendar.MONTH); 
     day_x = cal.get(Calendar.DAY_OF_MONTH); 

     showDialogOnButtonClick(); 
    } 

    public void showDialogOnButtonClick(){ 
     btn = (Button)findViewById(R.id.MyButton2); 

     btn.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         showDialog(DIALOG_ID); 
        } 
       } 
     ); 
    } 

    @Override 
    protected Dialog onCreateDialog(int id){ 
     if (id == DIALOG_ID) 
      return new DatePickerDialog(this, dpickerListner ,year_x,month_x,day_x); 
     return null; 
    } 

    private DatePickerDialog.OnDateSetListener dpickerListner 
      =new DatePickerDialog.OnDateSetListener() { 
     @Override 
     public void onDateSet(DatePicker datePicker, int i, int i1, int i2) { 
      year_x = i; 
      month_x = i1 +1; 
      day_x = i2; 
      Toast.makeText(MainActivity2.this,year_x + "/" + month_x + "/" +day_x,Toast.LENGTH_LONG).show(); 
     } 
    }; 

} 

und das ist, was meine MainActivity wie

public class MainActivity extends Activity { 

     private Button button; 

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

      Button next = (Button) findViewById(R.id.MyButton); 
      next.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View view) { 
        Intent myIntent = new Intent(view.getContext(), MainActivity2.class); 
        startActivityForResult(myIntent, 0); 
       } 
      }); 

    } 
} 
sehen

Die Schaltfläche auf der ersten Seite sendet den Benutzer an die zweite Seite, so dass sie das gewünschte Datum mit der Datumsauswahl festlegen können. Wie verbinde ich die beiden Seiten, damit sie miteinander interagieren können?

Antwort

0

Wenn Sie sehen, dass Sie startActivityForResult() verwenden, um Ihre zweite Aktivität zu starten, liegt es auf der Hand, dass Sie die zweite Aktivität benötigen, um das Datum zu Ihrer Hauptaktivität zurückzusenden. Um dies zu erreichen, können Sie einen Blick auf setResult() und onActivityResult() werfen. Das ist ziemlich gut erklärt here.

0

Verwendung Intent für die Weitergabe des Datums von einer Aktivität an eine andere