Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java listview中的Actionbar上下文_Java_Android_Xml_Listview - Fatal编程技术网

Java listview中的Actionbar上下文

Java listview中的Actionbar上下文,java,android,xml,listview,Java,Android,Xml,Listview,我试图在单击ListView的项目时插入上下文操作栏。我要做的是在列表中选择多个项目,然后通过单击操作栏中的相应图标对其执行操作。我写了这段代码 applicationListView = (ListView) findViewById(R.id.list); applicationListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); applicationListView.setOnItem

我试图在单击ListView的项目时插入上下文操作栏。我要做的是在列表中选择多个项目,然后通过单击操作栏中的相应图标对其执行操作。我写了这段代码

applicationListView = (ListView) findViewById(R.id.list);
        applicationListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);


        applicationListView.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> parent, View v, int position, long id)
            { 
                SparseBooleanArray positions = applicationListView.getCheckedItemPositions();
                int counter = 0;
                if (positions != null) {
                    int length = positions.size();
                    for (int i = 0; i < length; i++) {
                        if (positions.get(positions.keyAt(i))) {
                            counter++;
                             Toast.makeText(getBaseContext(), ""+counter++, Toast.LENGTH_SHORT).show();

                        }
                    }
                }

                startSupportActionMode(mActionModeCallback);                
            }

    });        

 private ActionMode.Callback mActionModeCallback = new ActionMode.Callback(){

        @Override 
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
              MenuInflater inflater = mode.getMenuInflater();
              inflater.inflate(R.menu.contextual_action_bar, menu);

              return true;
            }

        @Override
        public void onDestroyActionMode(ActionMode mode) {

        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            switch (item.getItemId()) {

                case R.id.menu_item1:

                    return true;
                case R.id.menu_item2:
                    //close the action mode
                    //mode.finish();
                    return true;
                default:
                    mode.finish();
                    return false;
           }
        }

        @Override
        public boolean onPrepareActionMode(ActionMode arg0, Menu arg1) {
            // TODO Auto-generated method stub
            arg0.setTitle("Selected item: ");

            return false;
        }
    };
有各种各样的问题

1-当我单击某个项目时,该项目会显示在上下文操作栏中,但所选项目不会高亮显示,例如,蓝色。当您选择这些项目时,就像再次创建了ActionBar一样,正如我看到的那样,ActionBar图标消失并重新出现,就像它确实是重新创建的一样

2-当我点击祝酒词中的一个项目时,总是将数字1形象化。为什么?如何获取所选项目的编号,然后将其作为操作栏的标题?

您可以查看演示: