Android 创建异步任务修改按钮背景色并调用
时间: 2023-09-18 20:12:17 浏览: 44
要创建并调用异步任务,可以按照以下步骤:
1. 创建异步任务类,实现`AsyncTask`类,并在其中实现异步任务的逻辑。
```java
public class MyAsyncTask extends AsyncTask<Void, Void, Void> {
private Button mButton;
public MyAsyncTask(Button button) {
mButton = button;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
mButton.setBackgroundColor(Color.GRAY); // 设置背景色为灰色
}
@Override
protected Void doInBackground(Void... voids) {
// 执行耗时操作
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
mButton.setBackgroundColor(Color.BLUE); // 设置背景色为蓝色
}
}
```
2. 在需要调用异步任务的地方,创建异步任务的实例,并调用`execute()`方法启动异步任务。
```java
MyAsyncTask myAsyncTask = new MyAsyncTask(button);
myAsyncTask.execute();
```
其中,`button`是需要修改背景色的按钮。
这样,在启动异步任务时,会调用`onPreExecute()`方法,将按钮背景色设置为灰色。异步任务执行完成后,会调用`onPostExecute()`方法,将按钮背景色设置为蓝色。
注意,在`AsyncTask`类中,`doInBackground()`方法是在子线程中执行的,而`onPreExecute()`和`onPostExecute()`方法是在主线程中执行的,因此可以在`onPreExecute()`和`onPostExecute()`方法中直接修改UI元素的属性。