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

溫馨提示×

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
来凤县| 洪洞县| 紫金县| 囊谦县| 六安市| 金坛市| 榆社县| 张掖市| 云浮市| 龙井市| 滁州市| 福贡县| 磐石市| 巴青县| 哈密市| 连江县| 西畴县| 霍山县| 江北区| 莒南县| 静乐县| 桐柏县| 盐津县| 中宁县| 澳门| 健康| 萝北县| 延庆县| 惠来县| 普兰店市| 朔州市| 韩城市| 平山县| 三亚市| 怀集县| 高淳县| 中卫市| 多伦县| 望谟县| 涞源县| 唐河县|