2010-10-11 33 views
10

Tôi đang sử dụng một ListView trong đó chỉ có một mục có thể được kiểm tra cùng một lúc. Đây là list_row.xml tùy chỉnh của tôi:Android: Làm thế nào tôi có thể kiểm tra một mục cụ thể trong một ListView được kiểm tra?

<?xml version="1.0" encoding="utf-8"?> 
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dip" 
    android:textColor="#FFFFFF" 
    android:textStyle="bold" 
    android:textSize="20sp" 
    android:checkMark="?android:attr/listChoiceIndicatorSingle" 
    /> 

tôi đưa vào danh sách trong onCreate() sử dụng một bộ chuyển đổi mảng bình thường:

ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this, R.layout.list_row, strings); 
myList.setAdapter(myAdapter); 

Khi danh sách được hiển thị, tôi muốn có, nói, mục thứ 5 trong danh sách xuất hiện dưới dạng Đã chọn. Làm thế nào tôi có thể đi về việc này? Tôi biết CheckedTextView có một chức năng gọi là setChecked(), nhưng làm thế nào tôi có thể nhận được mục thứ 5 của tôi từ danh sách để áp dụng chức năng này vào nó?

Trả lời

18

Đề cập một câu trả lời trong StackOverflow, tôi đã tìm thấy rằng cách đơn giản nhất để đạt được điều này là sử dụng

myList.setItemChecked(pos, true); 

Ở đây bạn có thể tìm thấy các chủ đề thực tế: link

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