2016-07-10 3 views
25

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

Calender myCalender = Calender.getInstance(); 

Hover над ним, и он говорит

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

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

I tried to follow this method to add a DatePicker to my EditText

+3

Какой календарь вы используете? – Jens

ответ

99

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

+0

great @CommonsWare – jemsnaban

-2

использование: импорт java.util.Calendar;

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

вместо: импорт android.icu.util.Calendar;

это хорошо работает.

+9

Добро пожаловать в StackOverflow. Не копируйте записи других участников, а придумывайте оригинальные ответы. –

0
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*********************************/ 
Смежные вопросы