在Android中,可以通過以下步驟來獲取ListView中選中的行:
android:background
屬性來設(shè)置選擇器樣式,例如:<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:listSelector="@android:color/darker_gray" />
在這個(gè)例子中,選擇器使用了系統(tǒng)自帶的灰色樣式。
OnItemClickListener
監(jiān)聽器,用于監(jiān)聽行的點(diǎn)擊事件。在監(jiān)聽器的onItemClick
回調(diào)方法中,可以獲取到被點(diǎn)擊行的位置(position):ListView listView = findViewById(R.id.listView);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// 處理選中行的邏輯
}
});
onItemClick
方法中,可以通過position
參數(shù)來獲取選中行的位置。根據(jù)位置,可以獲取到對(duì)應(yīng)的數(shù)據(jù)對(duì)象或者更新UI。以上是通過點(diǎn)擊行來獲取選中行的方式。如果要根據(jù)其他操作獲取選中行,可以使用getCheckedItemPosition
方法來獲取當(dāng)前選中行的位置,例如:
int selectedPosition = listView.getCheckedItemPosition();
然后可以根據(jù)位置來獲取對(duì)應(yīng)的數(shù)據(jù)對(duì)象或者更新UI。
注意:如果ListView的選擇模式是CHOICE_MODE_SINGLE
,只能選擇一行;如果選擇模式是CHOICE_MODE_MULTIPLE
,可以選擇多行。