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

溫馨提示×

android spinner如何實現多選

小樊
104
2024-08-02 16:35:17
欄目: 編程語言

要實現Android Spinner的多選功能,可以通過自定義Adapter和布局來實現。以下是一個簡單的實現步驟:

  1. 創建一個包含復選框的自定義布局文件(例如list_item_multiple_choice.xml),其中包含一個TextView和一個CheckBox:
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:padding="8dp"/>

    <CheckBox
        android:id="@+id/check_box"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"/>
</LinearLayout>
  1. 創建一個自定義Adapter類,重寫getView()方法來設置Spinner的多選功能:
public class MultipleChoiceAdapter extends ArrayAdapter<String> {
    private boolean[] selectedItems;

    public MultipleChoiceAdapter(Context context, List<String> items) {
        super(context, 0, items);
        selectedItems = new boolean[items.size()];
    }

    @NonNull
    @Override
    public View getView(int position, View convertView, @NonNull ViewGroup parent) {
        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_multiple_choice, parent, false);
        }

        TextView textView = convertView.findViewById(R.id.text_view);
        CheckBox checkBox = convertView.findViewById(R.id.check_box);

        String item = getItem(position);
        if (item != null) {
            textView.setText(item);
            checkBox.setChecked(selectedItems[position]);
            checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> selectedItems[position] = isChecked);
        }

        return convertView;
    }
}
  1. 在Activity中設置Spinner和Adapter:
Spinner spinner = findViewById(R.id.spinner);
List<String> items = Arrays.asList("Item 1", "Item 2", "Item 3", "Item 4");
MultipleChoiceAdapter adapter = new MultipleChoiceAdapter(this, items);
spinner.setAdapter(adapter);

現在,您可以在Spinner中選擇多個選項,并通過selectedItems數組來獲取所選項的狀態。

0
宜兴市| 洛宁县| 达州市| 乌兰察布市| 聂荣县| 海安县| 长治县| 天峻县| 贡觉县| 清原| 苍梧县| 徐州市| 思南县| 衡南县| 鄂州市| 霞浦县| 和硕县| 太湖县| 神木县| 澎湖县| 普兰店市| 苏尼特左旗| 丰顺县| 绥滨县| 淳安县| 灵石县| 调兵山市| 稷山县| 溧阳市| 嘉定区| 柏乡县| 涿鹿县| 鞍山市| 嫩江县| 英山县| 牡丹江市| 仁怀市| 秭归县| 绵竹市| 新丰县| 崇明县|