我有一个应用程序,可以在所有位置显示当前时间,但用户可以从设置中更改时间格式
1)我创建了一个包含所有时区信息的JSON文件(这里显示了一些内容)
{
"TimeZones":[
{
"value": "Dateline Standard Time",
"abbr": "DST",
"offset": "-12",
"isdst": false,
"text": "(UTC-12:00) International Date Line West"
},
{
"value": "Hawaiian Standard Time",
"abbr": "HST",
"offset": "-10",
"isdst": false,
"text": "(UTC-10:00) Hawaii"
},
{
"value": "Alaskan Standard Time",
"abbr": "AKDT",
"offset": "-8",
"isdst": true,
"text": "(UTC-09:00) Alaska"
},
{
"value": "Pacific Standard Time (Mexico)",
"abbr": "PDT",
"offset": "-7",
"isdst": true,
"text": "(UTC-08:00) Baja California"
},
{
"value": "Pacific Standard Time",
"abbr": "PDT",
"offset": "-7",
"isdst": true,
"text": "(UTC-08:00) Pacific Time (US & Canada)"
},
2)我将这些原始数据和存储的内容读入两个Hashmaps a)二十四小时 b)十二小时
3)二十四小时 Hashmap以24小时格式存储时间,十二小时 Hashmap以12小时格式存储时间
4)我创建了两个字符串数组列表来保存这些Hashmaps
stringArrayList.add(twentyfourhour); //将24小时hashmap添加到 arraylist stringArrayListtwelve.add(12小时); //将12小时hashmap添加到arraylist
5)根据用户选择的小时格式,我创建一个新的处理程序并使用三元运算符分配给Adapter
//Assign ArrayList Strings based on Hour format 0 = 24 hour format, 1 = 12 hour format
listAdapter = (hour_counter == 0) ? new TwocolumnAdapter(object, stringArrayList) : new TwocolumnAdapter(object,stringArrayListtwelve);
// Set the ArrayAdapter as the ListView's adapter
mainListView.setAdapter( listAdapter );
我是否可以在不创建新适配器的情况下更新我的适配器?(如第5点所述)
请告诉我更好的方法,我每次都在创造新物品。