【问题标题】:error: non-static method show() cannot be referenced from a static context DatePickerDialog.show();错误:不能从静态上下文 DatePickerDialog.show() 引用非静态方法 show();
【发布时间】: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


    【解决方案1】:
    datePickerDialog.show();
    

    您应该将它引用到一个实例,而不是 Class。

    【讨论】:

      猜你喜欢
      • 2011-06-22
      • 2016-01-29
      • 1970-01-01
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多