DatePicker

Cum timpul a devenit una dintre cele mai importante resurse pe care le avem şi care parcă e din ce în ce mai limitată m-am gândit să realizez un exemplu despre cum anume se poate seta data în Android.

Pentru a realiza acest lucru există deja în Android un control DatePicker. 🙂

Workflow-ul  este foarte simplu: apăsarea unui buton determină apariţia unei ferestre care conţine un DatePicker şi 2 butoane Set şi Cancel. Dacă se va selecta Set, atunci vom afişa într-un TextView data setată, altfel nu se va întâmpla nimic.

Design-ul: 😛

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical|center_horizontal"
    android:background="@drawable/white">
    <Button android:id="@+id/btnData"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Seteaza data"
    android:onClick="btnData_onClick">
    </Button>
    <TextView android:id="@+id/txtData"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@drawable/black"
    android:textSize="17dp">
    </TextView>
</LinearLayout>

Implementarea: 😀

<pre>import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;

public class DataPickerExample extends Activity
{
	private TextView txtData;
    static final int DATE_DIALOG_ID = 0;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        txtData=(TextView)findViewById(R.id.txtData);
    }

    @Override
    protected Dialog onCreateDialog(int id)
    {
        Calendar c = Calendar.getInstance();
        int cyear = c.get(Calendar.YEAR);
        int cmonth = c.get(Calendar.MONTH);
        int cday = c.get(Calendar.DAY_OF_MONTH);
        switch (id)
        {
            case DATE_DIALOG_ID:return new DatePickerDialog(this, mDateSetListener, cyear, cmonth, cday);
        }
        return null;
    }

    private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener()
    {
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
        {
            String date_selected = String.valueOf(monthOfYear+1)+" /"
                                  +String.valueOf(dayOfMonth)+" /"
                                  +String.valueOf(year);
            txtData.setText( "Data selectata este "+date_selected);
        }
    };

    public void btnData_onClick(View view)
    {
    	showDialog(DATE_DIALOG_ID);
    }
}

Cam asta ar fi de prezentat, în linii mari, despre DataPicker, iar pentru cei interesaţi să aprofundeze ştiţi soluţia: apelaţi la bunul prieten google.   😉

Advertisements
DatePicker

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s