Подтвердить что ты не робот

Calender.getInstance() дает ошибку в Android Studio

Я пытаюсь открыть диалоговое окно DatePicker при нажатии EditText. Проблема в том, что когда я пытаюсь создать экземпляр объекта Calender с помощью Calender.getInstance(), внизу getInstance() появляется строка creepy-red-underline.

Calender myCalender = Calender.getInstance();

Наведите указатель мыши на него, и он говорит

Для вызова требуется уровень API 24 (текущий минимум равен 15).

Очевидно, я ожидаю, что мое приложение будет работать на устройствах на минимальном уровне API 15. Пожалуйста, помогите мне в этом, я новичок в Android. Спасибо.

Я попытался выполнить этот метод, чтобы добавить DatePicker в свой EditText

4b9b3361

Ответ 1

У вас неправильный оператор import для Calendar. Он должен быть java.util.Calendar. Я предполагаю, что у вас есть import для android.icu.util.Calendar.

Ответ 2

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*********************************/

Ответ 3

use: import java.util.Calendar;

Это пакет, который нам нужно использовать, чтобы получить Календарь в диалоговом окне, а не

вместо: import android.icu.util.Calendar;

это прекрасно работает.