Ứng dụng tôi đang thực hiện yêu cầu bố cục động hiển thị HorizontalScrollView của cấu hình. Một hồ sơ chỉ đơn giản là một RelativeLayout với một hình ảnh và một số văn bản. Vì tôi lấy dữ liệu từ tệp dữ liệu, tôi cần tạo bố cục Tương đối cho mỗi tiểu sử. Lúc đầu, tôi tạo ra mỗi RelativeLayout lập trình trong vòng lặp for và sau đó thêm nó vào khung nhìn cha mẹ. Điều này làm việc, nhưng tôi không muốn làm theo cách này. Tôi muốn sử dụng các tệp bố cục khác nhau dựa trên kích thước màn hình của thiết bị, v.v.Android: Có thể tạo bản sao Chế độ xem không?
Sau đó tôi nghĩ. Vâng, nếu tôi có Giao diện chỉ với một tiểu sử trên đó thì sao? Mã của tôi có thể nhận được một hồ sơ đó với findViewById()
và sau đó tạo các cấu hình mới dựa trên nó! Nói cách khác:
// get the layout
profileLayout = (LinearLayout) findViewById(R.id.profileLayout);
// get the first profile in the layout
originalProfile = (RelativeLayout) findViewById(R.id.profile1);
// make copy of profile
temporaryProfile = originalProfile;
// make changes to the this profile and add it back
profileLayout.addView(temporaryProfile);
Tất nhiên, điều này không hoạt động vì đây là java và tạm thờiProfile giờ đây là tham chiếu đến originalProfile. Vậy có cách nào để tạo một bản sao của RelativeLayout này không? Tôi biết về LayoutInflater, nhưng tôi vẫn không hiểu nó hoạt động như thế nào. Ngoài ra còn có Object.clone()
.
cảm ơn bạn đã phản hồi! –