smriti3
smriti3

Reputation: 871

Dynamically updating time in android

I am trying to do something on time-updation in Android.


My specification is:


Snapshot:

enter image description here


I just have basic code structure:

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView1"
        android:layout_alignBottom="@+id/textView1"
        android:layout_alignParentRight="true"
        android:layout_marginRight="18dp"
        android:ems="10" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView1"
        android:layout_alignLeft="@+id/editText1"
        android:ems="10" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="18dp"
        android:text="From" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/textView2"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="68dp"
        android:text="To" />

</RelativeLayout>

MainActivity.java

public class MainActivity extends Activity {

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

My Questions

  1. How can i achieve this in android
  2. Any guidance on how to proceed will be helpful

Note: I am not speaking about using date picker; I am trying achieve this without it.

Upvotes: 1

Views: 662

Answers (4)

TheLittleNaruto
TheLittleNaruto

Reputation: 8473

You can do following :

    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());

    edttext1.setText((cal.get(Calendar.DAY_OF_MONTH)+1)+"-"+cal.get(Calendar.MONTH)+"-"+cal.get(Calendar.YEAR));
    //This will set the current date 

    //Now extend your date 7 days ahead 
    cal.add(Calendar.DAY_OF_MONTH, 7);
    edttext2.setText((cal.get(Calendar.DAY_OF_MONTH)+1)+"-"+cal.get(Calendar.MONTH)+"-"+cal.get(Calendar.YEAR));

Upvotes: 2

Nambi
Nambi

Reputation: 12042

try this in your MainActivity

 public class MainActivity extends Activity {
        EditText edt;
        EditText edt2;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     edt=(EditText)findViewById(R.id.editText1);
     edt2=(EditText)findViewById(R.id.editText2);   
     SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
     Calendar c = Calendar.getInstance();
     Calendar c1=Calendar.getInstance();
     c1.setTime(new Date());
     c.setTime(new Date()); // Now use today date.
     c.add(Calendar.DATE, 7); // Adding 7 days
     String ToDate = sdf.format(c.getTime());
     String FromDate = sdf.format(c1.getTime());
     edt2.setText(FromDate);
     edt.setText(ToDate);

        }

Upvotes: 1

M D
M D

Reputation: 47807

You just get Today's Date into this particular Format:

Calendar c22 = Calendar.getInstance();      
SimpleDateFormat sdf = new SimpleDateFormat("dd/MMM/yyyy");
String cur_date = sdf.format(c22.getTime());
editText1.setText(cur_date);

and now add 7 days into today's date:

Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, 7); // Adding 7 days
SimpleDateFormat sdf = new SimpleDateFormat("dd/MMM/yyyy");
String nxt_date = sdf.format(c.getTime());
editText2.setText(nxt_date);

try this solution.

Upvotes: 3

Adhikari Bishwash
Adhikari Bishwash

Reputation: 2780

You can look at this answer this

and calculate time on onStart method of your activity.

Upvotes: 1

Related Questions