Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: Ajuda - Componente DatePicker não funciona em um Edit Text

sinceramente nao sei o q esta havendo

tentei de ambas as maneiras
e o datepicker nao aparece
:(


Em sexta-feira, 30 de março de 2012 14h02min55s UTC-3, Leonardo Jobim escreveu:
Jiles,

No meu código, está assim:

@Override
public void onClick(View v) {
....
new DatePickerDialog(this, mDateSetListener, mYear, mMonth,mDay).show();
....
}

O primeiro click em um EditText não é interpretado como onClick e sim como onFocusChange().
Então você tem duas opções: chamar o DataPicker na mudança de foco também ou colocar focusable = false, como o Thiago falou (embora esta opção seja mais interessante ainda não a testei).
Se deixar apenas no onClick terá que clicar duas vezes para aparecer o Dialog a cada mudança de foco.

Em 30 de março de 2012 13:35, Thiago Lopes Rosa <thiago.rosa@gmail.com> escreveu:
Provavelmente não está passando no onClick.
Experimenta colocar focusable=false e clickable=true no xml do EditText.


Thiago


2012/3/30 Leonardo Jobim <leo.jobim@gmail.com>

Tenho exatamente isso implementado e funciona 100%. Depois dou uma olhada melhor no código para ver o q está ocorrendo.

Em 30/03/2012 13:16, "Jilles Ragonha" <jillohh@gmail.com> escreveu:

o componente nao aparece na tela :(
o datepicker nao aparece
rs


Em sexta-feira, 30 de março de 2012 08h13min09s UTC-3, Jilles Ragonha escreveu:
Olá pessoal tudo bem?
meu primeiro post ake no grupo hehe
nao sei como vcs fazem para postar codigos, entao estou encaminhando meu codigo tb para ajudar

eh o seguinte, estou desenvolvendo um app, e na tela inicial tem um pequeno formulario para a pessoa se registrar, no campo Data de Nascimento
tem um Edit Text, e ao clicar nele, gostaria que aparecesse o DatePicker, porém n"ao funciona.
Estou enviando o codigo pois fiz o componente igual o do exemplo do google e de vários outros tuto que axei pela net

 EditText declarado no meu xml  
  1. <EditText  
  2.                android:id="@+id/txtNascimento"  
  3.                android:layout_width="130dp"  
  4.                android:layout_height="40dp"  
  5.                android:layout_marginLeft="10dp"  
  6.                android:hint="@string/hintNascimento"  
  7.                android:padding="10dp" />  

código da minha classe
  1. package br.com.jilles.android;  
  2.   
  3. import android.app.Activity;  
  4. import android.app.DatePickerDialog;  
  5. import android.app.Dialog;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.DatePicker;  
  10. import android.widget.EditText;  
  11.   
  12. public class LoginAndroidActivity extends Activity {  
  13.   
  14.     EditText txtNascimento;  
  15.   
  16.     private int mYear;  
  17.     private int mMonth;  
  18.     private int mDay;  
  19.   
  20.     static final int DATE_DIALOG_ID = 0;  
  21.   
  22.     @Override  
  23.     public void onCreate(Bundle savedInstanceState) {  
  24.         super.onCreate(savedInstanceState);  
  25.         setContentView(R.layout.login);  
  26.   
  27.         txtNascimento = (EditText) findViewById(R.id.txtNascimento);  
  28.   
  29.         txtNascimento.setOnClickListener(new OnClickListener() {  
  30.   
  31.             public void onClick(View v) {  
  32.                 showDialog(DATE_DIALOG_ID);  
  33.   
  34.             }  
  35.         });  
  36.   
  37.     }  
  38.   
  39.     @Override  
  40.     protected Dialog onCreateDialog(int id) {  
  41.   
  42.         switch (id) {  
  43.         case DATE_DIALOG_ID:  
  44.             return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,  
  45.                     mDay);  
  46.         }  
  47.         return null;  
  48.     }  
  49.   
  50.     private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {  
  51.   
  52.         public void onDateSet(DatePicker view, int year, int monthOfYear,  
  53.                 int dayOfMonth) {  
  54.             mYear = year;  
  55.             mMonth = monthOfYear;  
  56.             mDay = dayOfMonth;  
  57.             updateDisplay();  
  58.         }  
  59.     };  
  60.   
  61.     private void updateDisplay() {  
  62.         txtNascimento.setText(new StringBuilder()  
  63.                 // Month is 0 based so add 1  
  64.                 .append(mMonth + 1).append("-").append(mDay).append("-")  
  65.                 .append(mYear).append(" "));  
  66.     }  
  67.   
  68. }  




  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário