我有一个列表视图,显示“运动员”对象列表。当选择列表中的项目时,用户将被带到另一个活动,该活动显示有关运动员的更多信息并允许对该对象进行编辑。为了确定选择了哪个运动员,我查看listView中的位置。
还可以选择过滤listView,重新排列列表中的项目。此时,名单上每位运动员的位置不再与其原始位置相匹配(这是我存储并用于确定选择哪位运动员的值),因此我无法确定哪位运动员被选中。
如何确定过滤后选择哪位运动员?
答案 0 :(得分:0)
如果您的运动员姓名是唯一的或具有唯一ID,请跳过步骤1.请尝试以下操作: 第1步:在listRow xml中添加一个额外的textView。 (如果您不想让用户看到它,那么setVisibility会隐藏)
步骤2:在listView的setOnItemClickListener中添加以下内容:
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String idOfYourListItem =((TextView) view.findViewById(R.id.ids)).getText().toString();
}
步骤3:现在存储此ID以供将来操作。