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

溫馨提示×

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
云和县| 汉沽区| 东城区| 汤阴县| 张家界市| 连平县| 丽水市| 娱乐| 咸丰县| 海阳市| 阿城市| 荥经县| 新余市| 白河县| 佳木斯市| 城市| 睢宁县| 正宁县| 陈巴尔虎旗| 元朗区| 辽中县| 于都县| 雷山县| 定西市| 张掖市| 温泉县| 个旧市| 米林县| 大邑县| 田林县| 林州市| 如东县| 开鲁县| 无极县| 福泉市| 马鞍山市| 互助| 迭部县| 沂南县| 神池县| 定陶县|