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

溫馨提示×

溫馨提示×

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

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

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

宁武县| 波密县| 自贡市| 西城区| 萝北县| 穆棱市| 德令哈市| 翼城县| 塘沽区| 留坝县| 连州市| 汾阳市| 名山县| 孙吴县| 恭城| 鄢陵县| 土默特左旗| 南乐县| 华宁县| 文化| 柘城县| 贵港市| 桐梓县| 灵璧县| 镇平县| 贵溪市| 临朐县| 桃园县| 英超| 渭南市| 日土县| 加查县| 大渡口区| 瓮安县| 寿光市| 于都县| 同心县| 黄冈市| 莎车县| 金溪县| 博客|