Tôi đã nhận được một cáiNGOẠI LỆ TUYỆT VỜI: AsyncTask #1
错误。
Tôi không tạo tác vụ không đồng bộ, tôi chỉ gọi mã bên dưới.
Tôi đang gọi những điều sau đây từ một lớp kết nối với mạng:
Toast.makeText(ngữ cảnh, "Kết nối thành công", Toast.LENGTH_LONG).show();
bối cảnh
Đã từ Hoạt động chính
được truyền vào hàm tạo.
Tôi không chắc mình đang làm gì sai ở đây.
Thực hiện những thay đổi sau để hiển thị từ Mạng
Bánh mì nướng của lớp (lớp không hoạt động):
Bước: 1 Thay vào đó, chuyển bối cảnh hoạt động sang lớp Mạng getBaseContext()
:
netConnection = Mạng mới (Mạng mới.OnMessageReceived() {
@Ghi đè
// ở đây phương thức messageReceived được triển khai
public void messageReceived(Tin nhắn chuỗi) {
// phương thức này gọi onProgressUpdate
PublishProgress(tin nhắn);
}
},Your_Current_Activity_Name.this);
第 2 步:sử dụng runOnUiThread
Hiển thị Toast trong lớp mạng:
kết nối boolean công khai () {
//....mã của bạn..
Hoạt động hoạt động = bối cảnh (Hoạt động);
hoạt động.runOnUiThread(new Runnable() {
công khai void run() {
// hiển thị Toast của bạn ở đây..
Toast.makeText(ngữ cảnh,"Kết nối thành công", Toast.LENGTH_LONG).show();
}
});
//....mã của bạn..
}
Tôi là một lập trình viên xuất sắc, rất giỏi!