39 votes

Calender.getInstance () donne une erreur dans Android Studio

Je suis en train de pop-ouvrir un DatePicker boîte de dialogue lors de mon EditText est cliqué. Le problème c'est que quand j'essaie d'instancier mon Calender objet avec Calender.getInstance() le creepy-rouge-soulignement apparaît au-dessous de getInstance().

Calender myCalender = Calender.getInstance();

Passez la souris sur elle et il dit

Appel nécessite l'API de niveau 24(minimum actuel est de 15).

Évidemment, j'attends mon application de fonctionner sur les appareils à l'API minimum niveau 15. Merci de m'aider, je suis nouveau sur Android. Je vous remercie.

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

130voto

CommonsWare Points 402670

Vous avez le mauvais import déclaration pour Calendar . Il doit être java.util.Calendar . Mon hypothèse est que vous avez import pour android.icu.util.Calendar .

0voto

Netaji Mohite Points 1
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*********************************/

-2voto

user roy Points 1

use: import java.util.Calendar;

C’est le paquet que nous devons utiliser pour obtenir le calendrier dans la boîte de dialogue, au lieu de,

au lieu de cela: import android.icu.util.Calendar;

cela fonctionne bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X