2010-06-08 25 views
5

sau khi tạo một số menu với simple_list_item_1 (mà làm việc rất tốt) Tôi đã cố gắng để thay thế này bằng cách simple_list_item_2, nhưng hệ thống của tôi ném xung quanh với trường hợp ngoại lệ ...simple_list_item_2 trong Android

Bây giờ tôi đang tự hỏi làm thế nào để tạo ra như một hai mục có kích thước khác nhau cho danh sách của tôi ... có bẫy nào cho người mới bắt đầu không? Ai đó có thể giúp tôi sửa chữa vấn đề của tôi (nhỏ !?)?

Mã của tôi trông như thế này:

ListAdapter listAdapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_list_item_2, fileNames); 
setListAdapter(listAdapter); 

String[] fileNames cửa hàng của tôi tất cả các chuỗi để hiển thị thứ tự tăng dần (không vấn đề này cho các chức năng ?!)

Sau khi không thành công trong việc tìm kiếm một số diễn đàn bây giờ tôi hy vọng rằng ai đó của bạn có thể cho tôi một gợi ý hữu ích.

lời chúc mừng tốt đẹp, poeschlorn

Trả lời

10

simple_list_item_2 là khác nhau, thay vì chỉ là một TextView nó chứa một TwoLineListItem chứa hai TextView. ArrayAdapter sẽ không hoạt động ở đây, bởi vì hàm tạo mà bạn đang sử dụng chỉ mong đợi một TextView; chỉ cần nhìn vào số constructors. Thay vào đó, bạn sẽ phải tạo một adapter tùy chỉnh hoặc sử dụng một adapter hỗ trợ nó như SimpleCursorAdapter hoặc (tôi nghĩ) SimpleAdapter. This guy có một giải pháp hơi khó hiểu có thể phù hợp với bạn.

+0

hi, cảm ơn phản hồi của bạn :) Tôi sẽ thử điều này và cho bạn biết nếu/cách nó hoạt động – poeschlorn

+0

xin chào một lần nữa, tôi đã thử nó và nó hoạt động rất tốt ... điều duy nhất tôi không hiểu là, tại sao có một Bản đồ (hoặc HashMap) cần thiết? – poeschlorn

+2

Tôi đoán vì mục đích sử dụng thực sự là kéo dữ liệu từ những thứ đã có trong cặp khóa-giá trị, do đó, nó có ý nghĩa cho mục đích đó. Không có lý do gì mà không thể, ví dụ, một 2dArrayAdapter hay cái gì đó. Nhân tiện, đây là một cách sử dụng mẫu tốt khác: http://stackoverflow.com/questions/2227154/how-do-i-fill-a-listview-in-android-with-xml-or-json-data/ 2227377 # 2227377 –