Я создаю приложение для Android, которое спрашивает у пользователя свой день рождения и месяц рождения. Я пользуюсь двумя прядильщиками (один для месяца и один для дней месяца). Я хочу, чтобы счетчик менялся в зависимости от месяца, , например, февраль имеет 29 дней, поэтому я хочу, чтобы число оборотов на секундомере остановилось на номер 29. Но я хочу, чтобы число оборотов в день увеличилось до 31, если выбирается месяц с 31 днем.Android Spinner добавить/удалить записи
Каков наилучший способ для этого? Я знаю, что могу использовать DatePicker, но я никогда не использовал его раньше, и мне нужен только месяц и день (а не год).
debugText - это только текстовое изображение, которое я создал, чтобы проверить свой счетчик и убедиться, что моя кодировка была права до сих пор.
// Код
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.form);
// Month
monthSpinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> monthAdapter = ArrayAdapter
.createFromResource(this, R.array.month,
android.R.layout.simple_spinner_item);
monthAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_item);
monthSpinner.setAdapter(monthAdapter);
monthName = "January";
// Day
daySpinner = (Spinner) findViewById(R.id.spinner2);
final ArrayAdapter<CharSequence> dayAdapter = ArrayAdapter
.createFromResource(this, R.array.day,
android.R.layout.simple_spinner_item);
dayAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_item);
daySpinner.setAdapter(dayAdapter);
debugText = (TextView) findViewById(R.id.debugText);
debugText.setText("Jaunary");
daySpinner = (Spinner) findViewById(R.id.spinner2);
monthSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
int monthPos = monthSpinner.getSelectedItemPosition();
switch (monthPos) {
case 0:
debugText.setText("January");
break;
case 1:
debugText.setText("February");
break;
case 2:
debugText.setText("March");
break;
case 3:
debugText.setText("April");
break;
case 4:
debugText.setText("May");
break;
case 5:
debugText.setText("June");
break;
case 6:
debugText.setText("July");
break;
case 7:
debugText.setText("August");
break;
case 8:
debugText.setText("September");
break;
case 9:
debugText.setText("October");
break;
case 10:
debugText.setText("November");
break;
case 11:
debugText.setText("December");
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
Спасибо, вот что я делаю сейчас. – Steven
Ой, а также я попытался использовать DatePicker, есть ли способ изменить его размер? – Steven
Я смотрел чертежи Date или TimePicker, и они в значительной степени предназначены для заполнения всего экрана. Google изменил ширину расширений -, + и editbox, так что, если они расположены горизонтально, они почти заполнят ширину экрана. – azgolfer