群里的朋友问利用CountDownTimer类实现倒计时功能怎么实现,我就百度了,参考http://blog.csdn.net/qq344429461/article/details/7521361写了个mono版的.

本人菜鸟,请各位多多指点,不足之处,请斧正.没啥技术含量,就权当丰富下mono for android的小代码.

  1. using System;
  2.  
  3. using Android.App;
  4. using Android.Content;
  5. using Android.Runtime;
  6. using Android.Views;
  7. using Android.Widget;
  8. using Android.OS;
  9. using Java.Util;
  10.  
  11. namespace AndroidApplication5
  12. {
  13. [Activity(Label = "AndroidApplication5", MainLauncher = true, Icon = "@drawable/icon")]
  14. public class Activity1 : Activity
  15. {
  16. private MyCount mc;
  17. private TextView tv;
  18.  
  19. protected override void OnCreate(Bundle savedInstanceState)
  20. {
  21. base.OnCreate(savedInstanceState);
  22. // Set our view from the "main" layout resource
  23. SetContentView(Resource.Layout.Main);
  24. tv = (TextView)FindViewById(Resource.Id.MyButton);
  25. mc = new MyCount(this,, );
  26. mc.Start();
  27. }
  28. public class MyCount : CountDownTimer
  29. {
  30. private Activity context = null;
  31. TextView tv ;
  32. public MyCount(Activity Activity,long millisInFuture, long countDownInterval): base(millisInFuture, countDownInterval)
  33. {
  34. this.context = Activity;
  35. tv = (TextView)context.FindViewById(Resource.Id.MyButton);
  36. }
  37. public override void OnTick(long millisUntilFinished)
  38. {
  39. DateTime date=new DateTime(millisUntilFinished);
  40. String str = date.ToString();
  41. Console.WriteLine(str);
  42. tv.SetText("请等待70秒(" + millisUntilFinished / + ")...", TextView.BufferType.Normal);
  43. }
  44. public override void OnFinish()
  45. {
  46. tv.Text = "finish";
  47. }
  48. }
  49. public override void Finish()
  50. {
  51. base.Finish();
  52. mc.Cancel();
  53. }
  54. }
  55. }

原java版

  1. public class MainActivity extends Activity {
  2. private MyCount mc;
  3. private TextView tv;
  4.  
  5. @Override
  6. public void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.main);
  9. tv = (TextView)findViewById(R.id.show);
  10. mc = new MyCount(70000, 1000);
  11. mc.start();
  12. }
  13. class MyCount extends CountDownTimer{
  14.  
  15. public MyCount(long millisInFuture, long countDownInterval) {
  16. super(millisInFuture, countDownInterval);
  17. System.out.println("你好");
  18. }
  19. @Override
  20. public void onTick(long millisUntilFinished) {
  21. Date date = new Date(millisUntilFinished);
  22. SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
  23. String str = sdf.format(date);
  24. System.out.println(str);
  25. tv.setText("请等待70秒("+millisUntilFinished / 1000 +")...");
  26. }
  27. @Override
  28. public void onFinish() {
  29. tv.setText("finish");
  30. }
  31. }
  32. @Override
  33. protected void onDestroy() {
  34. super.onDestroy();
  35. mc.cancel();
  36. }
  37. }

java翻译到mono C#实现系列(4) 利用CountDownTimer类实现倒计时功能 mono版的更多相关文章

  1. java从入门到卖肠粉系列

    java从入门到卖肠粉系列 注:本教程只是从JAVA基础开始,绝对不会跟公司有任何利益冲突,更不会出现一行公司项目的代码 QQ群:9547527 推荐用土豆,百度去上传太慢,百度云在线播放还要转码.. ...

  2. Java并发包源码学习系列:阻塞队列BlockingQueue及实现原理分析

    目录 本篇要点 什么是阻塞队列 阻塞队列提供的方法 阻塞队列的七种实现 TransferQueue和BlockingQueue的区别 1.ArrayBlockingQueue 2.LinkedBloc ...

  3. [翻译svg教程]svg学习系列 开篇

    目录 [翻译svg教程]svg学习系列 开篇 [翻译svg教程 ]svg 的坐标系统 [翻译svg教程]svg 中的g元素 [翻译svg教程]svg中矩形元素 rect [翻译svg教程]svg中的c ...

  4. 【java集合框架源码剖析系列】java源码剖析之TreeSet

    本博客将从源码的角度带领大家学习TreeSet相关的知识. 一TreeSet类的定义: public class TreeSet<E> extends AbstractSet<E&g ...

  5. 【java集合框架源码剖析系列】java源码剖析之HashSet

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于HashSet的知识. 一HashSet的定义: public class HashSet&l ...

  6. 【java集合框架源码剖析系列】java源码剖析之TreeMap

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于TreeMap的知识. 一TreeMap的定义: public class TreeMap&l ...

  7. 【java集合框架源码剖析系列】java源码剖析之ArrayList

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 本博客将从源码角度带领大家学习关于ArrayList的知识. 一ArrayList类的定义: public class Arr ...

  8. 【java集合框架源码剖析系列】java源码剖析之LinkedList

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 在实际项目中LinkedList也是使用频率非常高的一种集合,本博客将从源码角度带领大家学习关于LinkedList的知识. ...

  9. 【java集合框架源码剖析系列】java源码剖析之HashMap

    前言:之所以打算写java集合框架源码剖析系列博客是因为自己反思了一下阿里内推一面的失败(估计没过,因为写此博客已距阿里巴巴一面一个星期),当时面试完之后感觉自己回答的挺好的,而且据面试官最后说的这几 ...

随机推荐

  1. Mybatis的select查询的三种方式

    1.首先建立一个测试的dao public interface IStudentDao { // 根据姓名查询 List<Student> selectStudentsByName(Str ...

  2. HDU 1286 找新朋友 (欧拉phi函数打表)

    题意:你懂得. 析:一看这个题应该是欧拉phi函数,也就说欧拉phi函数是指求从 1 到 n 中与 n 互素的数的个数,这个题很明显是这个意思嘛,不多说了. 代码如下: #include <io ...

  3. 超详细JSON解析步骤

    JSON简介 JAVAScript Object Notation是一种轻量级的数据交换格式 具有良好的可读和便于快速编写的特性. 业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了 ...

  4. MySQL—练习2

    参考链接:https://www.cnblogs.com/edisonchou/p/3878135.html   感谢博主 https://blog.csdn.net/flycat296/articl ...

  5. Android-bindService本地服务-音乐播放(后台播放)-下

    在上一篇  Android-bindService本地服务-音乐播放-上,博客中是不能在后台中播放到,这次博客增加了一个后台播放 通常情况下,Activity切换到后台,Service提升到前台进程, ...

  6. Hibernate 之HQL数据查询

    1. HQL简介 HQL是面向对象的查询语言,与SQL查询语言相比,虽然在语法上类似,都是运行时进行解析,但HQL并不像SQL那样操作的是数据表,列等数据库对象,HQL所操作的对象是类,对象,属性等. ...

  7. ffmpeg学习(二) 通过rtsp获取H264裸流并保存到mp4文件

    本篇将使用上节http://www.cnblogs.com/wenjingu/p/3977015.html中编译好的库文件通过rtsp获取网络上的h264裸流并保存到mp4文件中. 1.VS2010建 ...

  8. 指定的 LINQ 表达式包含对与不同上下文关联的查询的引用

    解决方法是分两次查询. 报错的原因是在涉及到内存中的对象与EF里的对象混合查询时,内存中的对象要是基元类型. 第一次查询实际上会因为EF的延时加载,不会立即将数据查询到内存中. 解决方法是对第一次查询 ...

  9. leetcode 回文数

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  10. WPF自定义ComboBox

    <ControlTemplate x:Key="ComboBoxTextBox" TargetType="{x:Type TextBox}"> &l ...