中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
岑溪市| 伊春市| 八宿县| 滁州市| 泰安市| 会同县| 荥阳市| 汉寿县| 乌兰浩特市| 恭城| 隆子县| 临洮县| 五指山市| 高碑店市| 大荔县| 丽水市| 华阴市| 磴口县| 恩施市| 商南县| 苗栗市| 北辰区| 瓦房店市| 四平市| 凤城市| 历史| 丹凤县| 鄯善县| 横峰县| 垣曲县| 金湖县| 集贤县| 佛教| 巫山县| 江达县| 阳泉市| 武胜县| 会理县| 华安县| 图木舒克市| 平塘县|