您的位置:首页 > 其它

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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: