Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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
Android 如何将微调器添加到上下文操作栏?_Android - Fatal编程技术网

Android 如何将微调器添加到上下文操作栏?

Android 如何将微调器添加到上下文操作栏?,android,Android,就像我的乳头一样,我想问 如何像galery android一样在上下文操作栏上添加微调器 现在我可以设置标题,如“1已选定”“2已选定” 这是我的密码 public void lvMainOnLongItemClick(){ lvMain.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); lvMain.setMultiChoiceModeListener(new MultiChoiceModeListener() {

就像我的乳头一样,我想问

如何像galery android一样在上下文操作栏上添加微调器

现在我可以设置标题,如“1已选定”“2已选定”

这是我的密码

public void lvMainOnLongItemClick(){
    lvMain.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
    lvMain.setMultiChoiceModeListener(new MultiChoiceModeListener() {
        private int nr = 0;
        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {
            // TODO Auto-generated method stub
            adapter.clearSelection();
        }

        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            // TODO Auto-generated method stub
            nr = 0;
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.canvas_main, menu);
            menuEdit = menu.findItem(R.id.menu_edit);
            menuUpload = menu.findItem(R.id.menu_upload);
            menuUpload.setVisible(false);
            return true;
        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            // TODO Auto-generated method stub
            switch (item.getItemId()) {
            case R.id.menu_edit:
                Toast.makeText(rbkMain.this, "Edit", Toast.LENGTH_SHORT).show();
                break;
            case R.id.menu_cancel:
                Toast.makeText(rbkMain.this, "Cancel", Toast.LENGTH_SHORT).show();
                break;
            case R.id.menu_copy:
                Toast.makeText(rbkMain.this, "Copy", Toast.LENGTH_SHORT).show();
                break;
            case R.id.menu_upload:
                Toast.makeText(rbkMain.this, "Upload", Toast.LENGTH_SHORT).show();
                break;
            default:
                Toast.makeText(rbkMain.this, "Yihaa", Toast.LENGTH_SHORT).show();
                break;
            }
            return true;
        }

        @Override
        public void onItemCheckedStateChanged(ActionMode mode, int position,long id, boolean checked) {
            // TODO Auto-generated method stub
            if (checked) {
                nr++;
                adapter.setNewSelection(position, checked);
            } else {
                nr--;
                adapter.removeSelection(position);
            }
            if(nr > 1)
                menuEdit.setVisible(false);
            else
                menuEdit.setVisible(true);

            mode.setTitle(nr + " selected");
        }
    });

    lvMain.setOnItemLongClickListener(new OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) {
            lvMain.setItemChecked(position, adapter.isPositionChecked(position));
            return false;
        }
    });
public void lvmainLongItemClick(){
lvMain.setChoiceMode(ListView.CHOICE\u MODE\u MULTIPLE\u model);
lvMain.setMultichoiceModelListener(新的MultichoiceModelListener(){
私有整数nr=0;
@凌驾
公共布尔onPrepareActionMode(操作模式,菜单){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共void onDestroyActionMode(ActionMode模式){
//TODO自动生成的方法存根
adapter.clearSelection();
}
@凌驾
公共布尔onCreateActionMode(ActionMode模式,菜单){
//TODO自动生成的方法存根
nr=0;
MenuInflater充气机=getMenuInflater();
充气机。充气(右菜单。帆布_主菜单,菜单);
menuEdit=menu.findItem(R.id.menu\u编辑);
menuUpload=menu.findItem(R.id.menu\u上传);
menuUpload.setVisible(false);
返回true;
}
@凌驾
公共布尔值onActionItemClicked(ActionMode模式,菜单项){
//TODO自动生成的方法存根
开关(item.getItemId()){
案例R.id.菜单\编辑:
Toast.makeText(rbkMain.this,“Edit”,Toast.LENGTH_SHORT.show();
打破
案例R.id.菜单\取消:
Toast.makeText(rbkMain.this,“Cancel”,Toast.LENGTH_SHORT.show();
打破
案例R.id.菜单\副本:
Toast.makeText(rbkMain.this,“Copy”,Toast.LENGTH_SHORT.show();
打破
案例R.id.菜单\上传:
Toast.makeText(rbkMain.this,“Upload”,Toast.LENGTH_SHORT.show();
打破
违约:
Toast.makeText(rbkMain.this,“Yihaa”,Toast.LENGTH_SHORT.show();
打破
}
返回true;
}
@凌驾
public void onItemCheckedStateChanged(ActionMode模式、int位置、长id、布尔选中){
//TODO自动生成的方法存根
如果(选中){
nr++;
adapter.setNewSelection(位置,选中);
}否则{
nr--;
适配器。移除选择(位置);
}
如果(nr>1)
menuEdit.setVisible(false);
其他的
menuEdit.setVisible(true);
模式。设置标题(nr+“选定”);
}
});
lvMain.setOnItemLongClickListener(新的OnItemLongClickListener(){
@凌驾
公共布尔值长单击(AdapterView父项、视图、整型位置、长id){
lvMain.setItemChecked(位置,适配器.isPositionChecked(位置));
返回false;
}
});

非常感谢您的帮助…祝您在创建主要活动时愉快

// This has to be called before setContentView and you must use the 
// class in android.support.v4.view and NOT android.view

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
要在操作栏中显示/隐藏进度,请注意,使用actionbarsherlock时,必须使用boolean.TRUE/FALSE,而不仅仅是TRUE/FALSE

if (getSupportLoaderManager().hasRunningLoaders()) {
   setProgressBarIndeterminateVisibility(Boolean.TRUE); 
} else {
   setProgressBarIndeterminateVisibility(Boolean.FALSE); 
}

对于常规的ActionBar,这对我来说是有效的,但是对于上下文操作栏,它不起作用。这就是我如何使它起作用的,看看它是否能帮助你

对于listview侦听器,如下所示:

@Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            mode.getMenuInflater().inflate(YOUR_MENU_XML, menu);
            filterSpinner = (Spinner) MenuItemCompat.getActionView(menu.findItem(R.id.menu_overlay_spinner));
            filterSpinner.setAdapter(send2Adapter);
            return true;
        }
<item
    android:icon="@drawable/filter"
    android:id="@+id/menu_overlay_spinner"
    android:title="Spinner"
    app:actionViewClass="android.widget.Spinner"
    app:showAsAction="ifRoom"
    android:actionLayout="@layout/YOUR_ACTION_LAYOUT"/>
菜单xml应具有如下内容:

@Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            mode.getMenuInflater().inflate(YOUR_MENU_XML, menu);
            filterSpinner = (Spinner) MenuItemCompat.getActionView(menu.findItem(R.id.menu_overlay_spinner));
            filterSpinner.setAdapter(send2Adapter);
            return true;
        }
<item
    android:icon="@drawable/filter"
    android:id="@+id/menu_overlay_spinner"
    android:title="Spinner"
    app:actionViewClass="android.widget.Spinner"
    app:showAsAction="ifRoom"
    android:actionLayout="@layout/YOUR_ACTION_LAYOUT"/>

最后,actionLayout只是一个以微调器作为根的布局:

<?xml version="1.0" encoding="utf-8"?>
<Spinner xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

我相信OP的意思和下拉列表框中一样。太棒了,救了我一天!