CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 9mm con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 8 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 29 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

Visualizzazione di un NumberPicker tramite EditText

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Mar 2012
    Messaggi
    13

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Visualizzazione di un NumberPicker tramite EditText

    Ciao a tutti,

    avrei un'esigenza che non riesco a realizzare:
    dovrei fare in modo che al click di una casella di testo si apra una finestra di dialogo in sovraimpressione all'attivity che mi permetta di scegliere da una intervallo di numeri presenti su un NumberPicker.

    Il mio problema è di fondo..non riesco a trovare come si crea questo legame con una numberPicker tramite l'evento onclick dell'editText

    ho trovato un esempio in cui viene utilizzato un pulsante che apre un calendario e funziona per sommicapi per come vorrei io..soltanto che non riesco a personalizzarlo. :-(


    codice:
    package com.example.sscreen;
    
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Locale;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.DatePickerDialog;
    import android.app.Dialog;
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.text.format.DateFormat;
    import android.text.format.Time;
    import android.view.View;
    import android.widget.DatePicker;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
       
            private static final int MY_DATE_DIALOG_ID1 = 1;
    
            @Override
            public void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
            }
    
            public void onDateDialogButtonClick(View v) {
                    showDialog(MY_DATE_DIALOG_ID1);
            }
    
            @Override
            protected Dialog onCreateDialog(int id) {
                    switch (id) {
                
    
                    case MY_DATE_DIALOG_ID1:
                    
                    	DatePickerDialog dateDlg = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
                   
                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                        Time chosenDate = new Time();        
                        chosenDate.set(dayOfMonth, monthOfYear, year);
                        long dtDob = chosenDate.toMillis(true);
                      
                        CharSequence strDate = DateFormat.format("MMMM dd, yyyy", dtDob);
                        
                        
                        Toast.makeText(MainActivity.this, "Date picked: " + strDate, Toast.LENGTH_SHORT).show();
                    }
                }, 2011,0, 1);
                
                            dateDlg.setMessage("When's Your Birthday?");
    
                            return dateDlg;
                    
                    
                    
      
                    }
                    return null;
    
            }
    
           
            
            
            @Override
            protected void onPrepareDialog(int id, Dialog dialog) {
                    super.onPrepareDialog(id, dialog);
                    switch (id) {
                    case MY_DATE_DIALOG_ID1:
                    	
    
                        EditText number = (EditText) dialog.findViewById(R.id.editText1);
    
                        int myNewNumber = Integer.parseInt(number.getText().toString());
                        
                    DatePickerDialog dateDlg = (DatePickerDialog) dialog;
               
                    int iDay,iMonth,iYear;
    
                // Always init the date picker to today's date
                Calendar cal = Calendar.getInstance();
                iDay = cal.get(Calendar.DAY_OF_MONTH);
                iMonth = cal.get(Calendar.MONTH);
                iYear = cal.get(Calendar.YEAR);
                dateDlg.updateDate(iYear, iMonth, iDay);
                            break;
                    }
                    return;
            }
    
    }
    Potreste aiutarmi a risolvere questo problema...sono bloccato e dovrei finire un progetto che ho iniziato e devo consegnare a breve.

    A me importa sapere come scrivere la parte che fa apparire il NumberPicker per poi richiudersi con l'ok e salvare il valore dentro la casella di testo.

    Spero qualcuno di voi mi possa dedicare un pò del proprio tempo.
    Vi ringrazio!

  2.  
  3. #2
    Androidiano L'avatar di iClaude76


    Registrato dal
    Oct 2012
    Località
    Trento
    Messaggi
    207
    Smartphone
    Galaxy S3, Nexus 7, G. Tab 2 7

    Ringraziamenti
    1
    Ringraziato 27 volte in 25 Posts
    Predefinito

    Io proverei in questo modo:
    1) creare una finestra di dialogo estendendo la classe DialogFragment
    2) impostare un layout personalizzato in xml per questa finestra di dialogo al cui interno inserire il NumberPicker
    3) gestire la comunicazione tra la alertdialog e la activity sottostante tramite un'interfaccia.

    Tutta la procedura è descritta per sommi capi in questa guida:
    Dialogs | Android Developers

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy