तिथि कैलकुलेटर

डेट पिकर से तारीख चुनने के लिए यह मेरा कोड है।

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;

public class CurrentDateActivity extends Activity {
/** Called when the activity is first created. */

private EditText mDateDisplay,mDateSelect;
private int mYear,mMonth,mDay;
private int year,month,day;  

Button selectBtn = null;
Calendar c = null;
static final int DATE_DIALOG_ID = 0;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.date_select);

    selectBtn = (Button)findViewById(R.id.BtnSubmit);
    mDateDisplay = (EditText) findViewById(R.id.currentDate);
    mDateSelect = (EditText)findViewById(R.id.dateofBirth);

   //add a click listener to the button
    mDateSelect.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            showDialog(DATE_DIALOG_ID);
        }
    });

    getCurrentDate();//get the current date


   //display the current date 
    mDateDisplay.setText(getString(R.string.strSelectedDate,
            new StringBuilder()
                   //Month is 0 based so add 1
                    .append(mDay).append("/")
                    .append(mMonth + 1).append("/")
                    .append(mYear).append(" "))
                    );
}

private void getCurrentDate(){
    //get the current date
    c = Calendar.getInstance();
    mYear = c.get(Calendar.YEAR);
    mMonth = c.get(Calendar.MONTH);
    mDay = c.get(Calendar.DAY_OF_MONTH);
}

// updates the date in the EditText
private void updateDisplay() {
    mDateSelect.setText(getString(R.string.strSelectedDate,
            new StringBuilder()

            .append(mDay).append("/")
            .append(mMonth + 1).append("/")
            .append(mYear).append(" "))
            );  
}

// the callback received when the user "sets" the date in the dialog
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
     public void onDateSet(DatePicker view, int year,  int monthOfYear, int dayOfMonth) {
        mYear = year;
        mMonth = monthOfYear;
        mDay = dayOfMonth;
        updateDisplay();
     }
};



@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DATE_DIALOG_ID:

        return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
                mDay);
    }
    return null;
}   

}

सबकुछ ठीक है लेकिन अब मैं दोनों के बीच अंतर की गणना करने के लिए उपयोगकर्ता द्वारा दूसरी तारीख में दर्ज की गई वर्तमान तिथि और तिथि दोनों प्राप्त करना चाहता हूं। लेकिन इरादे की तारीख को कैसे पास किया जाए, मैं समझने में सक्षम नहीं हूं। कृपया मदद करें

0
यह प्रश्न देखें
जोड़ा लेखक Prashant Borde, स्रोत
मैं एंड्रॉइड प्रो नहीं हूं लेकिन शायद यह पोस्ट आपकी मदद कर सकती है: [एंड्रॉइड में एक गतिविधि से ऑब्जेक्ट को ऑब्जेक्ट कैसे पास करें] [1] [1]: stackoverflow.com/a/2736612/1751277
जोड़ा लेखक floriangosse, स्रोत

1 उत्तर

क्या होगा यदि आप साझा वरीयताओं का उपयोग करना चाहते थे?

    //get access to the shared preferences
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor editor = preferences.edit();


    //get the current time
    Date now =new Date();

    //create timestamp from the time the user picked
    @SuppressWarnings("deprecation")
    @Deprecated
    Timestamp timestamp = new Timestamp(mYear, mMonth, mDay, now.getHour, now.getMinute,   0, 0);

    //store the timestamp in your shared preferences
    editor.putString(getResources().getString(R.string.calcDate),  timestamp.toString );
    editor.apply();



     //And then in your next activity, you can pull the value back out like 
     //Pull the long timestamp back out from the shared preferences
     long pickedTs = Long.parseLong(preferences.getString(getResources().getString(R.string.calcDate),   ""));
     //Then create a new Date object using the timestamp
     Date pickedDate = new Date(pickedTs);
     //Then clear that preference for the next time
     editor.putString(getResources().getString(R.string.calcDate),  "");
     editor.apply();

यह उस प्रणाली के समान है जिसका मैं वर्तमान में अपने आवेदन में उपयोग कर रहा हूं। http://developer.android.com/reference/android/content/SharedPreferences.html http://docs.oracle.com/javase/7 /docs/api/java/sql/Timestamp.html ऐसा करने के लिए एक कामुक तरीका हो सकता है, लेकिन यह सिर्फ मेरी सिफारिश है। आशा करता हूँ की ये काम करेगा

0
जोड़ा