android下拉菜单选择日期,Android 中日期控件与下拉列表的使用

本文展示了在Android应用中如何实现EditText点击弹出日期对话框,并通过JavaUtils更新显示的日期。同时,介绍了Spinner下拉列表的使用,包括从资源文件加载选项和设置监听事件。此外,还提供了自定义下拉列表数据的方法。

1、在一个EditText 中单击一下可以弹出日期对话框:

private static int START;

private int mYear;

private int mMonth;

private int mDay;

private class SetParaImpl implements OnClickListener {

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.start_time:

START = 1;

new DatePickerDialog(MainActivity.this, mDateSetListener, mYear, mMonth, mDay).show();

break;

case R.id.end_time:

START = 2;

new DatePickerDialog(MainActivity.this, mDateSetListener, mYear, mMonth, mDay).show();

break;

case R.id.set_param:

startActivity(new Intent(MainActivity.this, EnvironmentSetActivity.class));

break;

case R.id.query:

startActivity(new Intent(MainActivity.this, AchartengineActivity.class));

break;

default:

break;

}

}

}

private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {

@Override

public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

mYear = year;

mMonth = monthOfYear;

mDay = dayOfMonth;

if (START == 1) {

JavaUtils.updateDisplay(START, startTime, mYear, mMonth, mDay);

} else if (START == 2) {

JavaUtils.updateDisplay(START, endTime, mYear, mMonth, mDay);

}

}

};

2、

public class JavaUtils {

public static void updateDisplay(int start, EditText view, int mYear, int mMonth, int mDay) {

if (start == 1) {

view.setText(new StringBuilder().append(mYear).append("-").append((mMonth + 1) < 10 ? "0" + (mMonth + 1) : (mMonth + 1)).append("-").append((mDay + 1) < 10 ? "0" + (mDay) : (mDay)));

} else {

view.setText(new StringBuilder().append(mYear).append("-").append((mMonth + 1) < 10 ? "0" + (mMonth + 1) : (mMonth + 1)).append("-").append((mDay + 1) < 10 ? "0" + (mDay) : (mDay)));

}

}

}

3、下拉列表的使用:

condition = (Spinner) view.findViewById(R.id.condition);

adapterItem = ArrayAdapter.createFromResource(GreenHouseActivity.this, R.array.condition, android.R.layout.simple_spinner_item); // 从资源文件中读取选项内容

adapterItem.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 设置列表显示风格

condition.setAdapter(adapterItem); // 设置下拉列表选项

condition.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override

public void onItemSelected(AdapterView> parent, View view, int position, long id) {

android.util.Log.d("mark", "p=" + position);

}

@Override

public void onNothingSelected(AdapterView> parent) {

// TODO Auto-generated method stub

}

});

note:R.array.condition 放置在values 文件下的array.xml 中:

6小时

自定义下拉列表:

private void homeSeceneMode() {

ArrayAdapter adapterMode = null; // 下拉列表内容适配器

List data = new CURDTable(this).allSeceneMode();

if (data != null) {

adapterMode = new ArrayAdapter(this, android.R.layout.simple_spinner_item, data);

adapterMode.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 设置下拉列表显示风格

this.homeSeceneMode.setAdapter(adapterMode);

}

}

public List allSeceneMode() {

db = this.helper.getReadableDatabase();

List info = new ArrayList();

String sql = "select name from secene_mode_tb";

Cursor cursor = db.rawQuery(sql, null);

while (cursor.moveToNext()) {

info.add(cursor.getString(cursor.getColumnIndex("name")));

}

db.close();

return info;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值