亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Spinner實現選項的分組折疊與動態展開

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

要實現Spinner中選項的分組折疊與動態展開,可以通過自定義Adapter來實現。以下是一個簡單的示例代碼,演示如何實現這個功能:

public class CustomSpinnerAdapter extends BaseAdapter {

    private List<String> groupList;
    private Map<String, List<String>> childMap;
    private Context context;

    public CustomSpinnerAdapter(Context context, List<String> groupList, Map<String, List<String>> childMap) {
        this.context = context;
        this.groupList = groupList;
        this.childMap = childMap;
    }

    @Override
    public int getCount() {
        return groupList.size();
    }

    @Override
    public Object getItem(int position) {
        return groupList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_spinner_group, parent, false);
        TextView textView = view.findViewById(R.id.tv_group);
        textView.setText(groupList.get(position));
        return view;
    }

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_spinner_child, parent, false);
        TextView textView = view.findViewById(R.id.tv_child);
        textView.setText(childMap.get(groupList.get(position)).get(0));
        return view;
    }
}

在上面的代碼中,CustomSpinnerAdapter繼承自BaseAdapter,實現了getView和getDropDownView方法,分別用于Spinner的展示和下拉選項的展示。通過groupList和childMap來存儲分組和子項的數據,實現分組折疊與動態展開的功能。

使用這個自定義的Adapter來設置Spinner的數據源:

// 初始化groupList和childMap
List<String> groupList = new ArrayList<>();
groupList.add("Group 1");
groupList.add("Group 2");

Map<String, List<String>> childMap = new HashMap<>();
List<String> childList1 = new ArrayList<>();
childList1.add("Child 1-1");
childList1.add("Child 1-2");
childMap.put("Group 1", childList1);

List<String> childList2 = new ArrayList<>();
childList2.add("Child 2-1");
childList2.add("Child 2-2");
childMap.put("Group 2", childList2);

// 設置Spinner的Adapter
CustomSpinnerAdapter adapter = new CustomSpinnerAdapter(this, groupList, childMap);
spinner.setAdapter(adapter);

通過上面的代碼,就可以實現Spinner中選項的分組折疊與動態展開的功能。當點擊Spinner時,會展示分組的選項,點擊分組時,會展開對應的子項。

向AI問一下細節

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

AI

根河市| 杭锦后旗| 孟津县| 南陵县| 孝昌县| 洱源县| 当雄县| 凤山县| 郓城县| 墨脱县| 炎陵县| 积石山| 秦皇岛市| 东阳市| 万荣县| 轮台县| 邮箱| 丹阳市| 山西省| 长海县| 祁连县| 曲周县| 维西| 许昌市| 郁南县| 崇礼县| 雅安市| 海口市| 莱西市| 禹州市| 青冈县| 阳谷县| 东方市| 阳原县| 沙田区| 白银市| 平罗县| 万山特区| 云浮市| 集安市| 新和县|