Come posso creare una window di dialogo personalizzata con due datepicker?

Ho appena iniziato a imparare Android come un hobby e vorrei creare un dialogo con due datepicker

final Dialog dialog = new Dialog(this); dialog.setContentView(R.layout.data_picker_dialog); dialog.setTitle(R.string.date_period_picker); dialog.show(); return true; 

Come posso get i valori selezionati dalla window di dialogo? C'è la possibilità di includere automaticamente il button OK / Annulla nella window di dialogo?

  • Android 4.0 ICS che converte HttpURLConnection Richiama GET in richieste POST
  • Corrispondenza vocale in Android
  • Gestione di errori specifici inviando un'altra richiesta in modo trasparente nel retrofit
  • Vista Elenco ottimizzato con l'elenco di oggetti 1k
  • Visualizzazione del stream della telecamera su un GLSurfaceView tramite SurfaceTexture
  • NullPointerException con android.support.v7.widget.Toolbar
  • C'è una libreria che dispone di una tale funzionalità (data di inizio e fine data / selezione periodo)?

  • ConnectivityManager.requestNetwork in Android 6.0
  • Se scrivo un'applicazione utilizzando Android 4 Platform, l'app functionrà in dispositivi Android 2?
  • onTouch, onLongClick insieme in android
  • android - Problema fuori memory
  • Apri il browser nativo da un'applicazione Android
  • i semplici dubbi di molteplici spinner
  • 3 Solutions collect form web for “Come posso creare una window di dialogo personalizzata con due datepicker?”

    Probabilmente è meglio leggere Dialogs e Pickers prima.

    Per quanto riguarda l'implementazione, è ansible disporre di due pulsanti: Uno per visualizzare un selezionatore di date per la data di inizio e un'altra per la data di fine.

    Modifica: se vuoi veramente mostrare 2 raccoglitori di date in una window di dialogo, ecco un esempio di come farlo. Innanzitutto, crea un layout XML personalizzato.

    /res/layout/custom_date_picker.xml

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <DatePicker android:id="@+id/dpStartDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:calendarViewShown="false" /> <DatePicker android:id="@+id/dpEndDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:calendarViewShown="false" /> </LinearLayout> 

    Successivamente è necessario utilizzare il layout di cui sopra in una window di dialogo:

     // These variables will hold the date values later private int startYear, startMonth, startDay, endYear, endMonth, endDay; /** * Displays the start and end date picker dialog */ public void showDatePicker() { // Inflate your custom layout containing 2 DatePickers LayoutInflater inflater = (LayoutInflater) getLayoutInflater(); View customView = inflater.inflate(R.layout.custom_date_picker, null); // Define your date pickers final DatePicker dpStartDate = (DatePicker) customView.findViewById(R.id.dpStartDate); final DatePicker dpEndDate = (DatePicker) customView.findViewById(R.id.dpEndDate); // Build the dialog AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(customView); // Set the view of the dialog to your custom layout builder.setTitle("Select start and end date"); builder.setPositiveButton("OK", new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { startYear = dpStartDate.getYear(); startMonth = dpStartDate.getMonth(); startDay = dpStartDate.getDayOfMonth(); endYear = dpEndDate.getYear(); endMonth = dpEndDate.getMonth(); endDay = dpEndDate.getDayOfMonth(); dialog.dismiss(); }}); // Create and show the dialog builder.create().show(); } 

    Infine, puoi visualizzare questa window di dialogo semplicemente chiamando showDatePicker() .

    Stesso per il tuo layout

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <DatePicker android:id="@+id/datePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <DatePicker android:id="@+id/datePicker2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 

    Vorresti solo creare il selezionatore di date nel tuo layout xml (data_picker_dialog). E ottieni i dati dal tuo id

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.