如何使listview以项目为基础而不是以位置为基础,特别是在筛选之后?

如何使listview以项目为基础而不是以位置为基础,特别是在筛选之后?,listview,search,android-intent,filter,onitemclick,Listview,Search,Android Intent,Filter,Onitemclick,我有一个12行的列表视图。单击后的每一行都会转到一个新活动,不是12个活动,而是1个名为Content.java的活动通过编码更改内容。但在应用搜索过滤器之后,例如,如果我在列表中有A、B和C,当我在editText中输入B时,我实际上得到了B作为保留行,但单击后,它将转到活动。 问题是:我如何使我的侦听器基于意图项而不是基于位置? 这是我的密码: Subjects_total_number = global.Subjects_total_number; Subjects

我有一个12行的列表视图。单击后的每一行都会转到一个新活动,不是12个活动,而是1个名为Content.java的活动通过编码更改内容。但在应用搜索过滤器之后,例如,如果我在列表中有A、B和C,当我在editText中输入B时,我实际上得到了B作为保留行,但单击后,它将转到活动。 问题是:我如何使我的侦听器基于意图项而不是基于位置? 这是我的密码:

Subjects_total_number = global.Subjects_total_number;
            Subjects = new String[Subjects_total_number];
            for(int x = 1; x < Subjects_total_number+1; x = x+1) {
                    String this_subject = "subject_" + String.valueOf(x);
        int resID = getResources().getIdentifier(this_subject, "string", getPackageName());
                    Subjects[x-1] = getResources().getString(resID);
    }

            setListAdapter(new MyAdapter(this,
                            android.R.layout.simple_list_item_1, R.id.textView1,
                            Subjects));    

               // set the OnItemClickListener

            lv = getListView();
            lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, final View view,
            int position, long id) {                       
                    Intent i = new Intent(getApplicationContext(), Show_Subjects.class);
                    String Subject_number = String.valueOf(position+1);
                    i.putExtra("subject_number", Subject_number);
                    startActivity(i);
                    overridePendingTransition(R.anim.slide_left_to_right_forw, R.anim.slide_right_to_left_forw);
        }

      });

当您在编辑文本中输入B时,listview数据不会更改,而只会更改视图—您看到的内容会更改。如果希望listview具有data post筛选器,请在listview adapterMyAdapter上调用notifydatasetChanged。基本上,当您在编辑文本中输入文本时,listview会显示过滤选项,但listview保持不变。

谢谢您的评论。但是我可以要求您根据您的评论更改我的代码以查看示例吗?提前谢谢。我需要看看你的代码,看看你在哪里根据你的输入过滤。只有这样,我才能用我刚才提到的方法帮助你