Android 中日期控件与下拉列表的使用
16lz
2021-01-23
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 中:
<?xml version="1.0" encoding="utf-8"?> - 月
- 周
- 天
- 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; }
更多相关文章
- Android xmpp 资源列表
- Android 实现单选列表
- Android常用的颜色列表,color.xml
- Android 常见权限列表
- Android里边如何使用二级列表
- Android折叠列表 ExpandableList
- android去掉振动相关选项
- Android UI列表的上拉下拉刷新之Android-PullToRefresh
- 第二十篇 Android获取本机图片、音频、视频、文档以及本地文件夹