Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当有人把一个日期定为';s在过去,它阻止用户为Android Studio这样做?_Java_Android_Datepickerdialog - Fatal编程技术网

Java 当有人把一个日期定为';s在过去,它阻止用户为Android Studio这样做?

Java 当有人把一个日期定为';s在过去,它阻止用户为Android Studio这样做?,java,android,datepickerdialog,Java,Android,Datepickerdialog,是否仍然可以使用if语句禁用过去的日期?或者通过尝试和抓住 我对此做了一些研究,尝试了人们提供的所有代码,但运气不太好 import android.app.Activity; import android.app.DatePickerDialog; import android.app.Dialog; import android.app.DialogFragment; import android.app.TimePickerDialog; import android.os.Bundle;

是否仍然可以使用if语句禁用过去的日期?或者通过尝试和抓住

我对此做了一些研究,尝试了人们提供的所有代码,但运气不太好

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.TimePicker;

import java.sql.Time;
import java.text.DateFormat;
import java.util.Calendar;

public class MainActivity extends Activity {
    private TextView OutputLogic;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final Spinner spSize = (Spinner)findViewById(R.id.spnSize);
        final Spinner spTopping = (Spinner)findViewById(R.id.spnToppings);

        final EditText etAddress = (EditText)findViewById(R.id.edAddress);

        final Button btTime = (Button)findViewById(R.id.btnTime);
        final Button btDay = (Button)findViewById(R.id.btnDay);
        final Button btSubmit = (Button)findViewById(R.id.btnSubmit);

        OutputLogic = (TextView)findViewById(R.id.tvOutput);

        btDay.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new DatePickerDialog(MainActivity.this, d, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)).show();
            }
        });
    }

    final Calendar c = Calendar.getInstance();
    DateFormat fmtDate = DateFormat.getDateInstance();
    DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            c.set(Calendar.YEAR, year);
            c.set(Calendar.MONTH, monthOfYear);
            c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            c.set(Calendar.MILLISECOND, c.getMinimum(Calendar.MILLISECOND));

            OutputLogic.setText("The Time of your delivery is " + fmtDate.format(c.getTime()));
        }
    };
} // End of MainActivity

您可以尝试以下方法:

DatePickerDialog dialog = new DatePickerDialog(MainActivity.this, d, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH));
        dialog.getDatePicker().setMinDate(System.currentTimeMillis());
        dialog.show();
它只是在DatePickerDialog中不显示今天日期之前的日期。
希望有帮助。

您尝试的代码在哪里?要禁用过去日期,为什么在所有方法之外的
onCreate()
之后都有代码?您可以参考以下内容:彭,我在课堂上总是这样做的。用我创建的所有应用程序完成。我使用的这本书就是这样做的,我是按照书上教我的方法做的。我会尝试一下,然后再给你回复。它确实有效,但当我选择过去的日期时,它仍然会显示在我的结果中,我想阻止用户选择这些日期,并让信息通过它。@Drizzy,我真的不明白你的意思。如果datepicker不显示过去的日期,那么用户首先如何选择过去的日期。