Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Layout de um DatePicker

Segue este manual para montar de forma que ao clicar no meu EditText ele abra sobre a aplicação a possibilidade de selecionar a data e depois volta com a data preenchida no campo, mas está dando erro, se alguem puder ajudar.
http://www.edumobile.org/android/android-beginner-tutorials/using-android-date-picker/


Segue abaixo o código e a linha do erro está em negrito. A Mensagem apresentada como erro é: "The constructor DatePickerDialog(EditaClientes, EditText, int, int, int) is undefined"


package br.com.afv.bean.editar;

public class EditaClientes extends Activity {
    private EditText campoDataFundacao;

    private int ano;
    private int mes;
    private int dia;
    static final int DATE_DIALOG_ID = 1;

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

        campoDataFundacao = (EditText) findViewById(R.id.cli_e_dtfundacao);
        campoDataFundacao.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                showDialog(DATE_DIALOG_ID);
            }
        });
        final Calendar calendario = Calendar.getInstance();
        ano = calendario.get(Calendar.YEAR);
        mes = calendario.get(Calendar.MONTH);
        dia = calendario.get(Calendar.DAY_OF_MONTH);
        updateDisplay();
    }

    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_DIALOG_ID:
            return new DatePickerDialog(this, campoDataFundacao, ano, mes, dia);
        }
        return null;
    }

    protected void onPrepareDialog(int id, Dialog dialog) {
        switch (id) {

        case DATE_DIALOG_ID:
            ((DatePickerDialog) dialog).updateDate(ano, mes, dia);
            break;
        }
    }

    private void updateDisplay() {
        campoDataFundacao.setText(new StringBuilder().append(dia).append("/")
                .append(mes + 1).append("/").append(ano).append(" "));
    }

    private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {

        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            ano = year;
            mes = monthOfYear;
            dia = dayOfMonth;
            updateDisplay();
        }
    };

    @Override
    protected void onPause() {
        super.onPause();
        setResult(RESULT_CANCELED);
        finish();
    }

}

--
[]´s
Evandro Choma
Engenheiro da Computação




Em 6 de agosto de 2012 19:15, Alex Baule <alexwbaule@gmail.com> escreveu:
Pelo contrario, pode discordar...

o que "nao pode" é condenar as coisas sem analisar.

vou te dar um exemplo de bom uso desse componente customizado (para tirar a cara de iphone dele).

rapidez em colocar o KM atual de um carro num app, colocar o preço de combustivel num app q vc precise de muita rapidez para decidir qual combustivel abastecer, e por ai vai.... vai saber se o caso dele precisa de algo rapido ? nunca se sabe... por isso, nunca condene.

Tbem no to trolando e muito menos discutindo, só mostrando meu ponto de vista.

Em 6 de agosto de 2012 19:03, Neto Marin <netomarin@gmail.com> escreveu:

Então Alex, a não ser q vc tenha instalado algo em minha máquina, vc não sabe o q eu visite e se eu já não conhecia o projeto...

Não trollei ninguém e simplesmente dei a opinião, se vc não aceita q ninguém discorde da sua, azar o seu.

Continuo com o meu ponto de vista e recomendação. O funcionamento do componente, na minha opinião, não condiz com os componentes do Android, simples assim. Realmente pode ser customizado, mas o funcionamento básico e o mecanismo, são mto parecidos com o iPhone.

Att.
Neto
---
Neto Marin

Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin


2012/8/6 Alex Baule <alexwbaule@gmail.com>
vc leu o que o componente faz ? quais componentes alem daqueles ele tem ? nao né..só viu a imagem parecida com Iphone e condenou...

Entao olha ele melhor, ve o fonte pra vc ver que ele é legal, e vc pode muito bem customiza-lo, como eu fiz e nao ficou com cara de iphone.

Em 6 de agosto de 2012 18:54, Neto Marin <netomarin@gmail.com> escreveu:

Discordo...
Esse é um componente do iOS q fizeram uma "adaptação" para um componente Android. Eu não indicaria o uso desse tipo de componente em uma app android.

É mto comum receber reviews ruins por usar elementos de UI de outros SOs (principalmente iOS) no Android. Quando uso uma app Android, não espero elementos de iPhone.

[]s
Neto
---
Neto Marin

Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin


2012/8/6 Alex Baule <alexwbaule@gmail.com>

Se quiser um visual legal, usa esse.
http://code.google.com/p/android-wheel/


Em 6 de agosto de 2012 18:01, Neto Marin <netomarin@gmail.com> escreveu:

Na verdade, eu aconselharia a não usar o DatePicker direto no layout.
Faça um TextView (ou um EditText) com o valor da data, e ao ser clicado ele chama o DatePickerDialog ou use fragments.

Geralmente esses pickers "quebram" o layout...

[]s
Neto
---
Neto Marin

Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin



2012/8/6 Diogo Henrique <diogjp10@gmail.com>
cara não si usar px no Android, muda pra dp e ver si muda alguma coisa, faz o seguinte muda pra dp e vai mudando a visualização dos layout conforme a tela pra tu ver a diferença( ex:NexusOne,NexusS )

Diogo Henrique
Rede Sociais: 
Meditando Provérbios: 





Em 6 de agosto de 2012 17:53, Evandro Choma <evandrochoma@gmail.com> escreveu:

Inclui no meu cadastro um Componente tipo Data Picket, mas este ficou com um tamanho desproporcional ao restante do formulário, os testos ficam enormes conforme dá pra se verficar na imagem do emulardor em anexo, mas no componente não aceita o android:textSize="999px" como pode ser feito no TextView.

Qual seria a indicação para deixar ele com tamanho menor?

O código que usei no XML ficou assim:
            <DatePicker xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/cli_e_dtfundacao"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="70" />


Obrigado
Evandro Choma



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

0 comentários:

Postar um comentário