91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spinner實現選項的拖拽排序與位置記憶

發布時間:2024-08-16 17:29:29 來源:億速云 閱讀:79 作者:小樊 欄目:移動開發

要實現Spinner選項的拖拽排序與位置記憶,可以通過自定義Adapter來實現。下面是一個簡單的示例代碼:

public class DragSortSpinnerAdapter extends ArrayAdapter<String> implements View.OnTouchListener {

    private SparseBooleanArray selectedItems;
    private int lastPosition = -1;

    public DragSortSpinnerAdapter(Context context, int resource, List<String> objects) {
        super(context, resource, objects);
        selectedItems = new SparseBooleanArray();
    }

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        View view = super.getDropDownView(position, convertView, parent);
        view.setTag(position);
        view.setOnTouchListener(this);
        return view;
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        View view = (View) v.getParent();
        int position = (int) view.getTag();

        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                lastPosition = position;
                break;

            case MotionEvent.ACTION_MOVE:
                if(lastPosition != -1 && lastPosition != position) {
                    String item = getItem(lastPosition);
                    remove(item);
                    insert(item, position);
                    selectedItems.clear();
                    selectedItems.put(position, true);
                    notifyDataSetChanged();
                    lastPosition = position;
                }
                break;

            default:
                lastPosition = -1;
                break;
        }

        return true;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        if(selectedItems.get(position)) {
            view.setBackgroundColor(Color.LTGRAY);
        } else {
            view.setBackgroundColor(Color.TRANSPARENT);
        }
        return view;
    }
}

在使用Spinner時,可以使用這個自定義Adapter來實現拖拽排序和位置記憶的功能。當用戶在Spinner選項上按下并移動時,會觸發onTouch方法,Adapter會根據移動的位置重新排序選項,并在getView方法中根據selectedItems來設置選中項的背景色。這樣就可以實現Spinner選項的拖拽排序與位置記憶功能了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

木里| 石嘴山市| 阳朔县| 获嘉县| 含山县| 河曲县| 铁岭市| 五峰| 揭阳市| 石狮市| 玛多县| 安宁市| 临安市| 锦屏县| 顺昌县| 富川| 轮台县| 辰溪县| 剑河县| 临高县| 临漳县| 沁阳市| 海口市| 南澳县| 民县| 金乡县| 慈利县| 孟州市| 泗洪县| 辽源市| 永吉县| 楚雄市| 南溪县| 漳平市| 青铜峡市| 巴塘县| 枣强县| 札达县| 万安县| 巩留县| 海宁市|