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

溫馨提示×

android選擇框如何實現多選

小樊
89
2024-07-20 15:07:57
欄目: 編程語言

要實現多選選擇框,你可以使用Android中的ListView控件和自定義Adapter來實現。以下是一個簡單的示例代碼,演示如何實現多選選擇框:

  1. 創建一個布局文件,包含一個ListView控件:
<ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  1. 創建一個自定義的Adapter類,用于綁定數據和處理多選邏輯:
public class CustomAdapter extends BaseAdapter {
    
    private Context context;
    private List<String> items;
    private SparseBooleanArray selectedItems;
    
    public CustomAdapter(Context context, List<String> items) {
        this.context = context;
        this.items = items;
        this.selectedItems = new SparseBooleanArray();
    }
    
    @Override
    public int getCount() {
        return items.size();
    }
    
    @Override
    public Object getItem(int position) {
        return items.get(position);
    }
    
    @Override
    public long getItemId(int position) {
        return position;
    }
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = convertView;
        if (view == null) {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(R.layout.list_item, null);
        }
        
        CheckBox checkBox = view.findViewById(R.id.checkBox);
        checkBox.setText(items.get(position));
        checkBox.setChecked(selectedItems.get(position));
        
        checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
            if (isChecked) {
                selectedItems.put(position, true);
            } else {
                selectedItems.delete(position);
            }
        });
        
        return view;
    }
    
    public SparseBooleanArray getSelectedItems() {
        return selectedItems;
    }
}
  1. 在Activity或Fragment中初始化ListView和Adapter,并設置數據:
ListView listView = findViewById(R.id.listView);
List<String> items = Arrays.asList("Item 1", "Item 2", "Item 3", "Item 4");
CustomAdapter adapter = new CustomAdapter(this, items);
listView.setAdapter(adapter);
  1. 最后,你可以在需要的地方獲取用戶選擇的多選項:
SparseBooleanArray selectedItems = adapter.getSelectedItems();
for (int i = 0; i < selectedItems.size(); i++) {
    if (selectedItems.valueAt(i)) {
        int position = selectedItems.keyAt(i);
        String selectedItem = items.get(position);
        Log.d("Selected Item", selectedItem);
    }
}

通過以上步驟,你可以實現一個簡單的多選選擇框功能。你也可以根據自己的需求進行定制和擴展。

0
寿光市| 昌黎县| 青阳县| 云阳县| 开远市| 麻栗坡县| 枣强县| 锡林浩特市| 龙游县| 肃南| 千阳县| 安西县| 汕尾市| 南陵县| 兰州市| 平顶山市| 江华| 万年县| 湄潭县| 凉城县| 尤溪县| 普兰县| 玛曲县| 长春市| 都昌县| 郸城县| 汨罗市| 平泉县| 阿城市| 庆元县| 石家庄市| 亳州市| 高邑县| 大安市| 寻乌县| 汾阳市| 二手房| 马龙县| 横峰县| 宽甸| 罗田县|