实现上下文操作栏会禁用行单击突出显示

时间:2012-11-20 00:54:59

标签: android android-actionbar actionbarsherlock contextual-action-bar

我在instructions from Google之后实现了单行上下文操作栏。说明说要向每个视图添加OnLongClickListener,因为我使用的是CustomAdapter,所以我使用此代码在每一行上实现了它:

   @Override
   public View getView(final int position, View convertView, final ViewGroup parent) {
       final ViewHolder holder;
       final View tempView = convertView;

        if (convertView == null) {
            holder = new ViewHolder();

                convertView.setOnLongClickListener(new View.OnLongClickListener() {

                public boolean onLongClick(View view) {
                    if (mActionMode != null) {
                        return false;
                    }

                    mActionMode = getSherlockActivity().startActionMode(mActionModeCallback);
                    view.setSelected(true);
                    return true;
                }
            });
        }
    }

但是,使用该代码会禁用正常点击,因此我在每个视图中添加了OnClickListener

    convertView.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {

                tempView.setBackgroundColor(getResources().getColor(R.color.blue));

                final Intent details = new Intent(this, Details.class);
                startActivity(details);
            }
    }); 

这或多或少有效,但看起来很黑,而且背景颜色变化不如正常颜色那么“平滑”。我还有另一个ListView我正在使用MultiChoiceModeListener并将ChoiceMode设置为CHOICE_MODE_MULTIPLE_MODAL,因此用户可以选择多行,并且正常的行点击工作细

0 个答案:

没有答案