2012-01-05 41 views
7

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

10

Để 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); 
    } 
}); 
+1

lý do bạn không sử dụng 'removeAllViews()' như sau: ll.removeAllViews(); – NrNazifi

4

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.

0

Bạn có cố gắng

setContentView(R.layout.main); 

sau khi loại bỏ không?

+0

oh, quên rằng bạn tạo ra các yếu tố dynamicaly – quux

0

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 ..

+0

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

2

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.

0

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.

0

Đơn giản chỉ cần sử dụng linearLayout.removeView (Xem xem); Nó sẽ làm mới tự động.

0

layout.removeAllViewsInLayout(); layout.invalidate();

Tôi hy vọng điều này giúp đỡ

Các vấn đề liên quan