Các câu trả lời hiện có (chuyển dữ liệu trong Intent
truyền đến startActivity()
) hiển thị cách thông thường để giải quyết vấn đề này. Có một giải pháp mà có thể được sử dụng trong trường hợp lẻ nơi bạn đang tạo Hoạt động này sẽ được bắt đầu bởi một ứng dụng (ví dụ, một trong những hoạt động chỉnh sửa trong một Tasker plugin) và do đó không kiểm soát Intent
mà ra mắt các Activity
.
Bạn có thể tạo một lớp cơ sở Activity
có một hàm tạo với một tham số, sau đó một lớp dẫn xuất có một hàm tạo mặc định gọi hàm tạo của lớp cơ sở với một giá trị, như vậy:
class BaseActivity extends Activity
{
public BaseActivity(String param)
{
// Do something with param
}
}
class DerivedActivity extends BaseActivity
{
public DerivedActivity()
{
super("parameter");
}
}
Nếu bạn cần tạo tham số để truyền cho hàm tạo của lớp cơ sở, chỉ cần thay thế giá trị được mã hóa cứng bằng một lệnh gọi hàm trả về giá trị đúng để truyền.