This code is work for me. Set Onclicklistner to the button and check edit text is empty or not using if statement. if edit text empty, call BirthDayPick() method. I use this for date pick. In your case replace BirthDayPick() method in to your time picker method.
public class RegisterActivity extends AppCompatActivity {
    int defaultBirthYear=1990, defaultBirthMonth=0, defaultBirthDay=01;
    int BirthYear, BirthMonth, BirthDay;
    EditText etDOB;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        etDOB = (EditText) findViewById(R.id.etDOB);
        etDOB.setFocusable(false);
        etDOB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                BirthDayPick();
            }
        });
        final Button btnRegister = (Button) findViewById(R.id.bRegister);
        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (etDOB.getText().toString().length() < 1) {
                    Toast.makeText(this, "Date of Birth cannot be empty", Toast.LENGTH_LONG).show();
                    BirthDayPick();
        }
        else{ Register(); // your registration method. 
        }   
            }
        });
    }
    public void BirthDayPick(){
        DatePickerDialog dpd = new DatePickerDialog(RegisterActivity.this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {
                BirthYear = defaultBirthYear = year;
                BirthMonth = defaultBirthMonth = monthOfYear;
                BirthDay = defaultBirthDay = dayOfMonth;
                DecimalFormat df = new DecimalFormat("00");
                final EditText etDOB = (EditText) findViewById(R.id.etDOB);
                etDOB.setText(year+"-"+df.format(monthOfYear+1)+"-"+df.format(dayOfMonth));
            }
        },defaultBirthYear,defaultBirthMonth,defaultBirthDay);
        dpd.show();
    }
}