在Android中,可以通过以下步骤来获取ListView中选中的行:
1. 首先,在ListView的适配器中设置一个选择器,用于标记被选中的行。可以使用`android:background`属性来设置选择器样式,例如:
```xml
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:listSelector="@android:color/darker_gray" />
```
在这个例子中,选择器使用了系统自带的灰色样式。
2. 在Activity或Fragment中,获取ListView的实例,并设置一个`OnItemClickListener`监听器,用于监听行的点击事件。在监听器的`onItemClick`回调方法中,可以获取到被点击行的位置(position):
```java
ListView listView = findViewById(R.id.listView);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
// 处理选中行的逻辑
}
});
```
3. 在`onItemClick`方法中,可以通过`position`参数来获取选中行的位置。根据位置,可以获取到对应的数据对象或者更新UI。
以上是通过点击行来获取选中行的方式。如果要根据其他操作获取选中行,可以使用`getCheckedItemPosition`方法来获取当前选中行的位置,例如:
```java
int selectedPosition = listView.getCheckedItemPosition();
```
然后可以根据位置来获取对应的数据对象或者更新UI。
注意:如果ListView的选择模式是`CHOICE_MODE_SINGLE`,只能选择一行;如果选择模式是`CHOICE_MODE_MULTIPLE`,可以选择多行。