有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java筛选列表项打开错误的活动


        list = new ArrayList<String>();
//videos list
        list.add("Video1");
        list.add("Video2");
        list.add("Video3");
        list.add("Video4");
        list.add("Video5");
        list.add("Video6");

        adapter = new ArrayAdapter<>(this, 安卓.R.layout.simple_list_item_1,list);
        listView.setAdapter(adapter);
//opens activities
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,int position, long id) {


                switch (Integer.parseInt((String) adapter.getItem(position))) {
                    case 0:
                        Intent newActivity = new Intent(list_videos.this,Video1.class);
                        startActivity(newActivity);
                        break;

                }
            }
        });

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String s) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String s) {

                adapter.getFilter().filter(s);

                return false;
            }
        });




    }

}

我已经创建了一个列表视图,并在上面添加了一个搜索栏

当我使用搜索栏时,要过滤结果。。。当我点击项目7时,它总是从第一个开始,而不是打开特定的点击活动,即7


共 (1) 个答案

  1. # 1 楼答案

    对于交换机,您只有一个case语句:

    case 0:
    

    我想你应该把剩下的箱子加进去

    我还看到,您正在尝试解析字符串“Video1,Video2…等”中的整数。在本例中,您应该从case 1开始,因为列表中的字符串-整数组合从“1”(即Video1)开始