java Calender.getInstance() 在 Android Studio 中出错
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/38291088/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Calender.getInstance() gives error in Android Studio
提问by Muhammad Arsal
I'm trying to pop-open a DatePicker
dialogue box when my EditText
is clicked. The problem is, when I try to instantiate my Calender
object with Calender.getInstance()
the creepy-red-underline appears below getInstance()
.
DatePicker
当我EditText
点击我的时候,我试图弹出一个对话框。问题是,当我尝试Calender
使用Calender.getInstance()
下面出现的令人毛骨悚然的红色下划线实例化我的对象时getInstance()
。
Calender myCalender = Calender.getInstance();
Hover over it and it says
将鼠标悬停在它上面,它说
Call requires API level 24(current minimum is 15).
调用需要 API 级别 24(当前最低为 15)。
Obviously I expect my app to run on devices at the minimum API level 15. Please help me with this, I'm new to Android. Thank you.
显然,我希望我的应用程序在最低 API 级别 15 的设备上运行。请帮助我,我是 Android 新手。谢谢你。
I tried to follow this method to add a DatePicker to my EditText
回答by CommonsWare
You have the wrong import
statement for Calendar
. It needs to be java.util.Calendar
. My guess is that you have an import
for android.icu.util.Calendar
.
您对 的import
陈述有误Calendar
。它需要是java.util.Calendar
。我的猜测是你有一个import
for android.icu.util.Calendar
。
回答by Netaji Mohite
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*********************************/
回答by user roy
use: import java.util.Calendar;
使用:导入java.util.Calendar;
This is the package we need to use to get Calendar on the dialog box, instead of,
这是我们需要用来在对话框中获取日历的包,而不是,
instead: import android.icu.util.Calendar;
相反:导入 android.icu.util.Calendar;
this works fine.
这工作正常。