web-dev-qa-db-fra.com

Calendar.getInstance () donne une erreur dans Android Studio

J'essaie d'ouvrir une boîte de dialogue DatePicker lorsque l'on clique sur ma EditText. Le problème est que, lorsque j'essaie d'instancier mon objet Calender avec Calender.getInstance(), l'effrayant-rouge-soulignement apparaît sous getInstance().

Calender myCalender = Calender.getInstance();

Survolez et ça dit

L'appel nécessite un niveau 24 (le minimum actuel est de 15).

Évidemment, je m'attends à ce que mon application s'exécute sur des appareils au niveau API minimum 15. S'il vous plaît, aidez-moi avec ça, je suis nouveau sur Android. Je vous remercie.

J'ai essayé de suivre cette méthode pour ajouter un DatePicker à mon EditText

31
Muhammad Arsal

Vous avez la mauvaise instruction import pour Calendar. Il doit s'agir de Java.util.Calendar. Je suppose que vous avez une import pour Android.icu.util.Calendar.

117
CommonsWare
This code will help  you to solve your problem..
It will pop-open a DatePicker dialogue box when onClick EditText box:

1) MainActivity.Java

import Android.app.DatePickerDialog;
import Android.app.Dialog;
import Android.app.DialogFragment;
import Android.icu.text.DateFormat;
import Android.icu.util.Calendar; 
import Android.support.v7.app.AlertDialog;
import Android.view.View;
import Android.widget.DatePicker;
import Android.widget.EditText;

public class MainActivity extends AppCompatActivity
{
    EditText editText1;
    private int nYear,nMonth,nDay,sYear,sMonth,sDay;
    static final int DATE_ID = 0;
    Calendar c = Calendar.getInstance();

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

        editText1 = (EditText) findViewById(R.id.editText1);
        sYear = c.get(Calendar.YEAR);
        sMonth = c.get(Calendar.MONTH);
        sDay = c.get(Calendar.DAY_OF_MONTH);
        //editText
        editText1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showDialog(DATE_ID);
            }
        });

    /***************calender code*****************/
    private void calender_fetch()
    {
        editText1.setText((nMonth+1)+"/"+nDay+"/"+nYear+"");
    }

    private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
        {
            nYear = year;
            nMonth = monthOfYear;
            nDay = dayOfMonth;
            calender_fetch();
        }
    };
    @Override
    protected Dialog onCreateDialog(int id)
    {
        switch (id)
        {
            case DATE_ID:
                return new DatePickerDialog(this, mDateSetListener, sYear, sMonth, sDay);
        }
        return null;
    }
    /*************************calender close*********************************/
0
Netaji Mohite