Trong ứng dụng của tôi, tôi đang thêm chế độ xem động vào bố cục tuyến tính. mỗi chế độ xem bao gồm một nút nếu bạn nhấp vào đó thì chế độ xem sẽ bị xóa. Làm cách nào để làm mới bố cục tuyến tính? bởi vì khi tôi xóa bất kỳ chế độ xem nào thì vị trí của chế độ xem sẽ được thay đổi.android - cách xóa chế độ xem bố cục tuyến tính
Trả lời
Để loại bỏ bất kỳ xem bạn có thể sử dụng
ll.removeView(view)// to remove particular view
ll.removeViewAt(position);// to remove view from particular position
Sử dụng sau logic để loại bỏ bất kỳ nhìn từ bố trí
ll.post(new Runnable() {
public void run() {
ll.removeView(view);
}
});
Câu hỏi của bạn không rõ ràng. Nhưng bạn có thể thử đặt chế độ xem là chế độ hiển thị = đã biến mất.
Bạn có cố gắng
setContentView(R.layout.main);
sau khi loại bỏ không?
oh, quên rằng bạn tạo ra các yếu tố dynamicaly – quux
Làm cách nào để làm mới bố cục tuyến tính?
linearLayoutObject.invalidate()
Cách xóa mục khỏi bố cục tuyến tính?
linearLayoutObject.removeView(View view);
hoặc
linearLayoutObject.removeViewAt(int index);
Tôi hy vọng nó giúp ..
Hãy dừng gợi ý chỉnh sửa, nơi bạn "sửa chữa" các liên kết. Thay thế văn bản liên kết bằng "Link1" hoặc nội dung nào đó tương tự là chỉnh sửa khủng khiếp và bạn đang làm việc cho những người phải sửa chúng. Xem bản chỉnh sửa của tôi về cách liên kết * thực sự * phải hoạt động: http://stackoverflow.com/q/8741270/229044 – meagar
Bằng cách loại bỏ hoặc thêm xem các LinearLayout có để đo lường và bố trí tất cả các con của nó một lần nữa đó là lý do chúng di chuyển. Bạn chỉ có thể thử đặt chế độ hiển thị thành ẩn mặt.
myLinearLayout.setVisibility(View.INVISIBLE);
bất kỳ chế độ xem nào được đặt thành ẩn vẫn giữ nguyên kích thước và vị trí trong bố cục nhưng không còn nhìn thấy được nữa.
sử dụng chế độ xem danh sách với Bộ điều hợp để điền dữ liệu động (vì đó là những gì chúng được tạo) và bất cứ khi nào dữ liệu hoặc giao diện người dùng của bạn thay đổi tạo bộ điều hợp mới (bộ dữ liệu) và thông báo cho bộ điều hợp về thay đổi.
Đơn giản chỉ cần sử dụng linearLayout.removeView (Xem xem); Nó sẽ làm mới tự động.
layout.removeAllViewsInLayout(); layout.invalidate();
Tôi hy vọng điều này giúp đỡ
lý do bạn không sử dụng 'removeAllViews()' như sau: ll.removeAllViews(); – NrNazifi