标签: contextual-action-bar

切换选项卡时无效上下文操作栏

我正在寻找一种方法,以便当用户切换标签时,我所拥有的上下文操作栏变得无效.

我已将其设置为使选项卡链接到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)

java tabs android contextual-action-bar

3
推荐指数
1
解决办法
2515
查看次数

getSherlockActivity().startActionMode返回null

我正在尝试在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

2
推荐指数
1
解决办法
1013
查看次数

将行的颜色更改为Contextual Action Bar

我想更改上下文操作栏上显示的行的颜色; 为了更清楚,我会把图像:

在此输入图像描述

你看到白色区域上方的浅蓝色线条?我怎么能改变它的颜色?谢谢

android contextual-action-bar

2
推荐指数
1
解决办法
1147
查看次数

如何在上下文操作栏中检索列表视图选定项

我正在使用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)

android listview contextual-action-bar

2
推荐指数
1
解决办法
2989
查看次数

从上下文操作栏中删除标题

我想删除在上下文操作栏中为标题分配的视图.

这就是我要删除的内容

请注意,我不想设置标题; 我希望View完全消失.这是为了允许更多空间,以便可以在菜单栏上显示操作,而不是将其拖放到溢出菜单中.

另请注意,我不想设置android:showAsAction="always".我想让Android决定图标的空间大小.我只是希望通过删除为标题保留的空白区域来获得更多空间.

UPDATE

我尝试过的事情:

  • ActionMode.setCustomView(null)
  • ActionMode.setTitleOptionalHint(true)
  • ActionMode.setTitle("").

不幸的是,这些都没有奏效.


更新2

事实证明,我想要的结果是不可能实现的.删除标题将不允许有更多图标; Android根据设备屏幕大小设置硬限制.如果您想在菜单中添加更多图标,请参阅@adneal提供的答案.

如果您确实拥有一个标题(如下所示)并希望将其删除,那么您可以ActionMode.setTitle("")按照@CommonsWare在接受的答案中提供的方式进行呼叫.

带标题的菜单示例

android contextual-action-bar android-actionmode

2
推荐指数
1
解决办法
1314
查看次数

在使用ListFragment和DetailFragment的平板电脑活动中,仅使用上下文操作栏CAB进行onLongClick,仅执行onListItemClick

我有一个从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

1
推荐指数
1
解决办法
3547
查看次数

在为特定视图使用Contextual Action Bar时无法解析方法startActionMode()

我一直试图在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)

android listview contextual-action-bar actionmode

1
推荐指数
1
解决办法
4391
查看次数