ログインページで、ユーザーは誕生日を入力する必要があります。EditText (誕生日) を作成したいのですが、DatePicker が表示されます。
私はこれが好きです:
public class Main extends Activity {
EditText inputBirthDay;
DatePicker dpResult;
TextView tvDisplayDate;
int year;
int month;
int day;
static final int DATE_DIALOG_ID = 999;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register_activity);
inputBirthDay = (EditText) findViewById(R.id.registerBirthDay);
inputBirthDay.setFocusableInTouchMode(false);
addListenerOnButton();
}
public void addListenerOnButton() {
inputBirthDay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
showDialog(DATE_DIALOG_ID);
inputBirthDay.requestFocus();
}
});
}
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
// when dialog box is closed, below method will be called.
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
year = selectedYear;
month = selectedMonth;
day = selectedDay;
inputBirthDay.setText(new StringBuilder().append(day)
.append("-").append(month + 1).append("- ").append(year)
.append(" "));
}
};
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, datePickerListener, year, month,
day);
}
return null;
}
}
しかし、私には問題があります:
1/ EditText をクリックすると、最初にキーボードが表示され、次にもう一度クリックすると、DatePicker が表示されます。キーボードを非表示にするにはどうすればよいですか?
ご協力ありがとうございました