package com.dingshang.day1301;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick01(View v) {
/*创建异步任务*/
DownAsyncTask task = new DownAsyncTask(v);
/*启动同步器*/
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
public void onClick02(View v) {
/*创建异步任务*/
DownAsyncTask task = new DownAsyncTask(v);
/*启动同步器*/
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
class DownAsyncTask extends AsyncTask<Void, Void, String> {
private View mView;
public DownAsyncTask(View view) {
mView = view;
}
/*此方法运行与主线程,在doInBackground方法前执行,一般用于初始化*/
@Override
protected void onPreExecute() {
super.onPreExecute();
/*设置view不可以点击*/
mView.setEnabled(false);
}
/*此方法运行在工作线程*/
@Override
protected String doInBackground(Void... params) {
/*模拟下载过程*/
for (int i = 0; i <= 100; i++) {
try {
Thread.sleep(200);
} catch (Exception e) {
}
}
return "下载完成";
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
MyButton myBtn = (MyButton) mView;
myBtn.setProgress(values[0] * 1.0f / 100);
myBtn.invalidate();
myBtn.setText(values[0] + "%");
}
/**
* 此方法运行于主线程,用于处理doInbackGround方法的返回结果
*/
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if (mView != null && mView instanceof Button) {
((Button) mView).setText(result);
}
}
}
}
我是刚学安卓不久的新手
这里出现错误 请问怎么办 要怎么解决 ,请求大家帮忙 谢谢!