我看到可以通过Android中的意图启动日期和时间设置,但我想要做的只是启动显示时区的列表(单击"选择时区")并获取所选值没有选择修改用户的日期和时间设置.知道怎么做吗?
Cor*_*Cat 10
如果你在谈论一个微调器你可以做这样的事情:
ArrayAdapter <CharSequence> adapter =
new ArrayAdapter <CharSequence> (this, android.R.layout.simple_spinner_item );
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
String[]TZ = TimeZone.getAvailableIDs();
ArrayList<String> TZ1 = new ArrayList<String>();
for(int i = 0; i < TZ.length; i++) {
if(!(TZ1.contains(TimeZone.getTimeZone(TZ[i]).getDisplayName()))) {
TZ1.add(TimeZone.getTimeZone(TZ[i]).getDisplayName());
}
}
for(int i = 0; i < TZ1.size(); i++) {
adapter.add(TZ1.get(i));
}
final Spinner TZone = (Spinner)findViewById(R.id.TimeZoneEntry);
TZone.setAdapter(adapter);
for(int i = 0; i < TZ1.size(); i++) {
if(TZ1.get(i).equals(TimeZone.getDefault().getDisplayName())) {
TZone.setSelection(i);
}
}
Run Code Online (Sandbox Code Playgroud)
看看这里对时区的更多文献资料
受到上述示例的CornCats的启发,但使用对我有用的适配器的实现略有不同和较短:
private void populateAndUpdateTimeZone() {
//populate spinner with all timezones
mSpinner = (Spinner) findViewById(R.id.mytimezonespinner);
String[] idArray = TimeZone.getAvailableIDs();
idAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item,
idArray);
idAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(idAdapter);
// now set the spinner to default timezone from the time zone settings
for(int i = 0; i < idAdapter.getCount(); i++) {
if(idAdapter.getItem(i).equals(TimeZone.getDefault().getID())) {
mSpinner.setSelection(i);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6354 次 |
| 最近记录: |