【发布时间】:2021-04-30 09:29:38
【问题描述】:
我正在使用本教程(youtube 链接https://www.youtube.com/watch?v=AdTzD96AhE0)在我的应用程序中开发一个日期选择器对话框,其中我通过应用日期选择器对话框使用日期文本来获取用户的输入,并且它也显示在同一个 editText(editText id "editTextDate" ) 上。我收到一条错误消息,指出无法从静态上下文 DatePickerDialog.show(); 引用非静态方法 show();\ 我该怎么做????
这是我的全部代码
public class Match_Details extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {
private TextView dateText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_match__details);
dateText = findViewById(R.id.editTextDate);
findViewById(R.id.editTextDate).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View V) {
}
});
}
private void showDatePickerDailog(){
DatePickerDialog datePickerDialog= new DatePickerDialog(
this,
this,
Calendar.getInstance().get(Calendar.YEAR),
Calendar.getInstance().get(Calendar.MONTH),
Calendar.getInstance().get(Calendar.DAY_OF_MONTH)
);
DatePickerDialog.show();
}
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
String date= dayOfMonth +"/"+ month +"/"+ year;
dateText.setText(date);
}
}
部分 XML 代码
<EditText
android:id="@+id/editTextDate"
android:layout_width="158dp"
android:layout_height="46dp"
android:layout_marginTop="180dp"
android:autoLink="phone"
android:ems="10"
android:hint="@string/date"
android:inputType="date"
android:textAlignment="center"
app:layout_constraintEnd_toStartOf="@+id/editTextTime"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/button" />
【问题讨论】:
标签: android non-static datepickerdialog