2010-07-27 26 views
5

Tôi đang xây dựng TableLayout động. Và tôi cần TableRow có một khoảng trống ở vị trí cột nhất định.Android TableRow - Cách thêm Xem động vào một số vị trí nhất định?

Ví dụ: tôi cần hàng có ImageView ở vị trí 3 và 5, hàng tiếp theo có ImageView ở vị trí 1, 2, 4. Tôi cố gắng sử dụng:

TableRow row1 = new TableRow(this); 
    row1.addView(new ImageView(this), 2); 
    row1.addView(new ImageView(this), 4); 
    mTable.addView(row1); 
    TableRow row2 = new TableRow(this); 
    row2.addView(new ImageView(this), 0); 
    row2.addView(new ImageView(this), 1); 
    row2.addView(new ImageView(this), 3); 
    mTable.addView(row2); 

nhưng tôi đã nhận IndexOfBoundException khi chạy.
ERROR/AndroidRuntime (771): Gây ra bởi: java.lang.IndexOutOfBoundsException: index = 2 count = 0

Mọi đề xuất sẽ được đánh giá cao.
Cảm ơn bạn.

Trả lời

4

Thực ra, lỗi có vẻ khá hợp lý trong nháy mắt đầu tiên trên mã của bạn. Trừ khi bạn bảng được tạo ra từ xml và như số lượng hàng cần thiết, khi bạn thêm một cái nhìn tại chỉ số 2, chỉ mục này không tồn tại. Hãy thử thay thế 2 này bằng 0, bạn sẽ thấy nó hoạt động. Vì vậy, bạn chỉ cần thêm ImageView trống các chỉ mục khác nếu bạn muốn dính vào máy của bạn.

+0

Serhy, cảm ơn bạn đã trả lời. Nhưng, có lẽ, bạn biết làm thế nào tôi nên xác định số lượng cột trong một hàng? Hoặc số lượng hàng và cột trong bảng? Tôi chỉ muốn sử dụng addView (xem, chỉ mục) mà không có lỗi như vậy ... – levkatata

+0

Nếu tôi hiểu bạn đúng cách, bạn muốn có hình ảnh trong một ô, sau đó không phải trong hình tiếp theo, sau đó một hình ảnh, sau đó không, ... và sau đó ở dòng tiếp theo, ngược lại, bắt đầu với một ô trống? – Sephy

+0

Vâng, Serhy, bạn nói đúng. Nhưng có nhiều cách bố trí như vậy tôi cần tạo ra, giống như một hình thoi, giống như một cây thánh giá, giống như một con ve và vân vân. Tôi đã thử giải pháp của bạn, nó hoạt động tuyệt vời! Nhưng tôi đã nhận thấy, thời điểm tạo bố cục như vậy được tăng tùy thuộc vào số lượt xem tôi tạo. Tôi phải tạo ra nhiều khung nhìn trống ... – levkatata

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