DatePicker
がクリックされたときに、EditText
ダイアログボックスをポップオープンしようとしています。問題は、Calender.getInstance()
でCalender
オブジェクトをインスタンス化しようとすると、getInstance()
の下に不気味な赤い下線が表示されることです。
Calender myCalender = Calender.getInstance();
それにカーソルを合わせると、
呼び出しには、APIレベル24(現在の最小値は15)が必要です。
明らかに、アプリは最小APIレベル15でデバイス上で実行されることを期待しています。これを手伝ってください。ありがとうございました。
import
の間違ったCalendar
ステートメントがあります。 Java.util.Calendar
である必要があります。私の推測では、Android.icu.util.Calendar
にはimport
があります。
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*********************************/