如果适配器扩展了光标适配器,则如何在长单击时更改列表视图项的背景



我有ListView,它从SQLite和游标适配器获取数据。

当我长按列表视图项目时,我将如何更改它?

我在适配器中实现了以下内容

@Override
public boolean onLongClick(View v)
{

    return true;
}

我的活动中有这个

list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
            if (mActionMode != null) {
                return false;
            }
            mActionMode = TActivity.this.startActionMode(TActivity.this);
            view.setSelected(true);
            return true;
        }
    });

但我对接下来的步骤感到相当困惑

你应该做类似的事情

if (mActionMode != null)
            {
                view.setBackgroundColor(Color.TRANSPARENT);
                mActionMode.finish();
                return false;
            }else
            {
                mActionMode = Tctivity.this.startActionMode(TActivity.this);
                view.setSelected(true);
                view.setBackgroundColor(Color.parseColor("#b8dbd3"));
            }
   list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
        if (mActionMode != null) {
            return false;
        }
        mActionMode = TActivity.this.startActionMode(TActivity.this);
        view.setSelected(true);
        view.setBackgroundColor(Color.GREEN);
        return true;
    }
});

最新更新