我正在寻找一种方法,以便当用户切换标签时,我所拥有的上下文操作栏变得无效.
我已将其设置为使选项卡链接到Fragments,并且每个选项卡都有不同的上下文操作栏.我想在onTabUnselected()方法中可能有一种方法可以做到这一点,但我不知道如何去做.
任何帮助将非常感激.
package com.androidDev.taskmanager;
import java.util.ArrayList;
import java.util.Locale;
import android.app.ActionBar;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.ListFragment;
import android.support.v4.view.ViewPager;
import android.util.SparseBooleanArray;
import android.view.ActionMode;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
public class Home extends FragmentActivity implements ActionBar.TabListener {
private SectionsPagerAdapter mSectionsPagerAdapter;
private ViewPager mViewPager;
public static Menu mainMenu;
@Override
protected void …Run Code Online (Sandbox Code Playgroud) 我正在尝试在4.2设备上启动操作模式,但结果为null.我不确定它是一个sherlock问题,因为原生呼叫是失败的.
任何帮助将不胜感激.
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id{
CustomCell cell = (CustomCell) view.getTag();
if (cell == null) {
return false;
}
mGridView.setChocieMode(LibraryGridView.CHOICE_MODE_MULTIPLE);
if (mActionMode != null) {
return false;
}
mActionMode = getSherlockActivity().startActionMode(mActionCallback);
cell.setSelected(true);
return true;
}
Run Code Online (Sandbox Code Playgroud) android actionbarsherlock android-actionbar contextual-action-bar
我想更改上下文操作栏上显示的行的颜色; 为了更清楚,我会把图像:

你看到白色区域上方的浅蓝色线条?我怎么能改变它的颜色?谢谢
我正在使用Contextual Action Barwith ListView(CHOICE MODE SINGLE).一切正常但我不知道如何检索所选项目.
listViewData.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
listViewData.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
if (mActionMode != null) {
return false;
}
mActionMode = ((ActionBarActivity) getActivity()).startSupportActionMode(mActionModeCallback);
view.setSelected(true);
return true;
}
});
private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem …Run Code Online (Sandbox Code Playgroud) 我想删除在上下文操作栏中为标题分配的视图.

请注意,我不想设置标题; 我希望View完全消失.这是为了允许更多空间,以便可以在菜单栏上显示操作,而不是将其拖放到溢出菜单中.
另请注意,我不想设置android:showAsAction="always".我想让Android决定图标的空间大小.我只是希望通过删除为标题保留的空白区域来获得更多空间.
UPDATE
我尝试过的事情:
ActionMode.setCustomView(null)ActionMode.setTitleOptionalHint(true)ActionMode.setTitle(""). 不幸的是,这些都没有奏效.
更新2
事实证明,我想要的结果是不可能实现的.删除标题将不允许有更多图标; Android根据设备屏幕大小设置硬限制.如果您想在菜单中添加更多图标,请参阅@adneal提供的答案.
如果您确实拥有一个标题(如下所示)并希望将其删除,那么您可以ActionMode.setTitle("")按照@CommonsWare在接受的答案中提供的方式进行呼叫.

我有一个从ListActivity调用的ListFragment,在平板电脑上有双片段布局.我使用了Android Studio 0.3.6 API 19中的标准MasterDetail Fragment设置.
MyListFragment看起来如下:
import android.app.Activity;
import android.content.ContentUris;
import android.net.Uri;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.ActionMode;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.support.v4.widget.SimpleCursorAdapter;
import com.supascale.supascale.contentprovider.SupaScaleContentProvider;
import com.supascale.supascale.database.SupascaleDb;
/**
* A list fragment representing a list of Animals. This fragment
* also supports tablet devices by allowing list items to be given an
* 'activated' state upon selection. This helps indicate …Run Code Online (Sandbox Code Playgroud) callback master-detail onlongclicklistener android-listfragment contextual-action-bar
我一直试图在checkBox上使用Contextual Action Bar单击以从listView中删除多行... listview在每行中都有一个复选框和一个textview.在适配器类中,我调用startActionMode(),如下所示:
**@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder=null;
View view=convertView;
Log.v("ConvertView", String.valueOf(position));
final ToPayModel state = toPayList.get(position);
if (convertView == null)
{
inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.to_pay_item, null);
holder = new ViewHolder();
holder.name = (TextView) convertView.findViewById(R.id.tvToPay);
holder.check = (CheckBox) convertView.findViewById(R.id.toPaycheck);
convertView.setTag(holder);
//holder.name.setOnCheckedChangeListener();
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.check.setOnClickListener( new View.OnClickListener()
{
public void onClick(View v)
{
CheckBox cb = (CheckBox) v;
ToPayModel toPayModel = (ToPayModel) cb.getTag();
Toast.makeText(context, "Clicked …Run Code Online (Sandbox Code Playgroud)