温馨提示×

android spinner数据动态加载方法

小樊
105
2024-08-02 16:34:14
栏目: 编程语言
Android开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

Spinner 数据动态加载方法有以下几种方式:

  1. 使用 ArrayAdapter:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, yourDataList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
  1. 使用 SimpleAdapter:
List<Map<String, String>> data = new ArrayList<>();
for (String item : yourDataList) {
    Map<String, String> map = new HashMap<>();
    map.put("text", item);
    data.add(map);
}

SimpleAdapter adapter = new SimpleAdapter(this, data, android.R.layout.simple_spinner_item, new String[] {"text"}, new int[] {android.R.id.text1});
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
  1. 使用 BaseAdapter:
BaseAdapter adapter = new BaseAdapter() {
    @Override
    public int getCount() {
        return yourDataList.size();
    }

    @Override
    public Object getItem(int position) {
        return yourDataList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

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

        TextView textView = convertView.findViewById(android.R.id.text1);
        textView.setText(yourDataList.get(position));

        return convertView;
    }
};

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

以上是几种常见的动态加载 Spinner 数据的方法,根据具体需求选择适合的方法。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Spinner Android动态加载

0