Handle AsyncTask
2015-09-13 08:13
288 查看
public class MainActivity extends Activity { private Button mButton; private Button mButton2; public Handler handler; public static final int TIME_DESC=45; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButton= (Button) findViewById(R.id.button); mButton2= (Button) findViewById(R.id.button2); mButton2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { handler.sendEmptyMessage(0); } }); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { MyThread myThread=new MyThread(); myThread.start(); } }); } class MyThread extends Thread{ @Override public void run() { Looper.prepare(); handler=new Handler(){ @Override public void handleMessage(Message msg) { Log.d("TAG", "子线程接收到的消息"); } }; Looper.loop(); } } }
public class MainActivity extends AppCompatActivity { private Button mButton; private ProgressBar mProgressBar; private int count=60; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mProgressBar= (ProgressBar) findViewById(R.id.progressBar); mButton= (Button) findViewById(R.id.button); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { MyasyncTask myasyncTask=new MyasyncTask(); myasyncTask.execute("sds"); } }); } class MyasyncTask extends AsyncTask<String ,String,String>{ @Override protected String doInBackground(String... params) {//第一个String while (count<101){ count++; publishProgress(""+count);//调用onProgressUpdate try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } } return "已经全部完成"; } @Override protected void onProgressUpdate(String... values) {//第二个String super.onProgressUpdate(values); int count=Integer.parseInt(values[0]); mProgressBar.setProgress(count); } @Override protected void onPostExecute(String s) {//第三个String super.onPostExecute(s); mButton.setText(s); } } }
相关文章推荐
- 【bzoj2427】【HAOI2010】【软件安装】【缩点+dp】
- 【IOS 开发学习总结-OC-7.2】C 语言特性——局部变量与全局变量
- jquery 对象不支持此属性或方法
- 【bzoj1150】【CSTC2007】【数据备份】【贪心】
- 成长之路 之 年度总结
- SHLVL 和 BASH_SUBSHELL 两个变量的区别
- 计划(二 )
- JQuery中的html(),text(),val()区别
- 结对编程成功的背后
- 为什么我们要从 NodeJS 迁移到 Ruby on Rails
- Android中146种颜色对应的xml色值
- gradle--第八章 基本的管理依赖2
- 零基础学python-16.3 变量名解析:LEGB原则
- 零基础学python-16.3 变量名解析:LEGB原则
- Gradle 载入中 Android 下一个.so档
- EnumMap源代码阅读器
- 程序包管理作业
- leetcode之路029 Divide Two Integers
- 在TCL网线接口的彩电上看pdf文档的电子书 845电脑的扫描电子电路图扫描仪图
- LeetCode Unique Paths