package com.example.mm.helloworld;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button button_up = null;
private int jj=30;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TranslateAnimation animation=new TranslateAnimation(-100,100,0,0);
animation.setDuration(2000);
animation.setRepeatCount(1000);
Button button_down = (Button) findViewById(R.id.button_down);
button_down.setAnimation(animation);
button_up=(Button) findViewById(R.id.button_up);
button_up.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
new DownloadImageTask().execute();
}
});
}
private class DownloadImageTask extends AsyncTask<String,Void,Integer> //AsyncTask
{
protected Integer doInBackground(String... urls) //跟UI无关的耗时操作,写在线程里面
{
try {
Thread.sleep(5000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
int sum=10;
return sum;
}
protected void onPostExecute(Integer sum)//跟UI组件相关的操作写在post里面
{
button_up.setText(""+sum);
}
}
android中用AsyncTask解决UI线程阻塞
最新推荐文章于 2021-06-22 08:43:55 发布