Android 筛选选定的列表项后

Android 筛选选定的列表项后,android,android-listview,Android,Android Listview,我有一个显示运动员对象列表的列表视图。选择列表中的项目后,用户将进入另一个活动,该活动显示有关运动员的更多信息,并允许编辑对象。为了确定哪个运动员被选中,我查看listView中的位置 还可以选择过滤listView,重新排列列表中的项目。此时,列表中每个运动员的位置不再匹配其原始位置,这是我存储并用于确定选择哪个运动员的值,因此我无法确定选择了哪个运动员 如何确定筛选后选择的运动员?如果您的运动员姓名唯一或具有唯一ID,请跳过步骤1。否则,请尝试以下操作: 步骤1:在ListRowXML中添加

我有一个显示运动员对象列表的列表视图。选择列表中的项目后,用户将进入另一个活动,该活动显示有关运动员的更多信息,并允许编辑对象。为了确定哪个运动员被选中,我查看listView中的位置

还可以选择过滤listView,重新排列列表中的项目。此时,列表中每个运动员的位置不再匹配其原始位置,这是我存储并用于确定选择哪个运动员的值,因此我无法确定选择了哪个运动员


如何确定筛选后选择的运动员?

如果您的运动员姓名唯一或具有唯一ID,请跳过步骤1。否则,请尝试以下操作: 步骤1:在ListRowXML中添加额外的textView。如果不想使其对用户可见,请将“可见性”设置为“不可见”

步骤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以备将来操作。

我对“R.id.id”部分感到困惑。我为每个运动员对象都有一个唯一的标识符,但如果我找不到列表中的哪个运动员被选中,这将没有帮助。R.id.ids只不过是要添加到列表行中的文本视图的id。在xml中,如果您将textView的id指定为以下android:id=@+id/myTextView,那么此行应该如下所示:String idOfYourListItem=textView.findViewByIdR.id.myTextView.getText.toString;