‘壹’ android中的一个列表,当点击某一个列时,怎么获取
android中的列表通常就是指ListView列表控件,ListView数据和视图需要Adapter来处理。 点击某列,获取Item的ID方法: 使用自定义Adapter,即继承BaseAdapter,并重写BaseAdapter相关方法。 ListView 设置适配器,listView.setAdapter(adapter); 给ListView注册条目点击事件,listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){ public void onItemClick (AdapterView<?> parent, View view, int position, long id){//点击条目的时候执行} }); 在onItemClick中处理条目点击事件,以下是onItemClick的参数: View就是条目视图 position就是ListView的条目,即第几条 id 就是Adapter返回的ID
‘贰’ 如何修改android系统默认时区
android平台,经常会遇到产品需要更改系统默认时区日期时间的问题。android更改时区相对比较容易实现,网上也有很多资料,直接设置一个属性即可,例如设置上海东八区,persist.sys.timezone=Asia/Shanghai。但是如何实现更改默认系统时间呢?
在android中,Linux内核中、rtc时钟,默认的起始日期都是1970年1月1日,那么如何把默认日期指到2012-01-01呢?笔者在实践中发现,在RTC驱动中可以很容易实现。在RTC驱动加载的时候,一般都有个probe函数需要先执行,因此在probe函数里下手最直接有效。RTC从1970-01-01开始,那当然很容易把默认值设置到2012-01-01,所需要设置的seconds也就是从1970-01-01所差的秒数,以秒为单位。因此,一旦读出来的RTC值小于我们预想的值比如2012-01-01(1325402913)小,我们就把它设置到这个时间点。
seconds = rtc_read_time();
printk("init PMU/RTC time to %ld \n", seconds);
if(seconds <= 1325402913) {
seconds = 1325402913;/*2012-01-01*/
ret = rtc_set_time(seconds);
RTC_DBG("Init Set time: %ld, ret =0x%x\n", seconds, ret);
}
笔者通过结果显示,在android平台上是可行的。要设置到哪天几点几分,只要算好具体1970-01-01 00:00差的秒数即可,简单明了。这样客户、用户使用起来更方便一些。
‘叁’ android获取手机真实时间与时区,IP地址
获得经纬度后就相应的得到时间了!好像是我们项目就是用的这个时间。。。时间是unix的计算方法,就是1970年1月1日0点0分0秒到现在的秒数,用new Date(location.getTime())就得到当前时间了,不过你得根据你的特殊情况进行判断计算了,可以再找找详细的资料,祝你好运~
‘肆’ 请问android studio如何通过代码获得不同时区的时间,比如界面按一下美国的按钮,显示的就是美国的时间
SimpleDateFormat localFromat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
localFromat.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
Date oldDate = localFromat.parse(date);
时区转换一下
‘伍’ 如何在android时区data中新增一个时区
Date date = new Date(1359641834000L);
System.out.println(date);
String dateStr = "2013-1-31 22:17:14";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
try
{
// 对于已经设定为GMT时间标准的dateFormat来说,一切需要他转换的字符串日期都是GMT标准时间,转换后返回的Date由于默认遵守系统默认时区,所以转换给Date的日期需要+8(例如北京标准时区),也就是时区与标准不同导致的时差。
Date dateTmp = dateFormat.parse(dateStr);
System.out.println(dateTmp);
}
catch (ParseException e)
{
e.printStackTrace();
}
// Date还是按系统默认时区,而format格式化处来的字符串是GMT,所以要-8。
String dateStrTmp = dateFormat.format(date);
System.out.println(dateStrTmp);
【加粗的代码为设置时区的代码】
备注:我也是遇到该问题,想查询看到了您的问题,通过网络找到了相应的答案,为了尊重原创,我粘贴代码来自:http://www.2cto.com/kf/201312/266908.html