java handler 传对象 使用demo
时间: 2024-03-11 09:49:43 浏览: 59
以下是Java Handler传递对象的一个示例:
```java
import android.os.Handler;
import android.os.Message;
public class MainActivity extends AppCompatActivity {
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建Handler对象
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
// 处理消息
switch (msg.what) {
case 1:
// 获取传递的对象
User user = (User) msg.obj;
// 执行任务1,使用传递的对象
break;
case 2:
// 执行任务2
break;
}
}
};
// 创建对象并发送消息
User user = new User("Tom", 18);
Message message = new Message();
message.what = 1;
message.obj = user;
mHandler.sendMessage(message);
}
}
class User {
public String name;
public int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
```
在这个示例中,我们向Handler中发送了一个传递对象的消息。在发送消息时,我们创建了一个User对象,并将它设置为Message对象的obj属性。在handleMessage()方法中,我们通过msg.obj获取传递的对象,并根据需要执行相应的任务。注意,在传递对象时,对象需要实现Serializable或Parcelable接口。
阅读全文