如何根據(jù)數(shù)據(jù)動(dòng)態(tài)更新spinner adapter

小樊
86
2024-09-02 15:53:56

要根據(jù)數(shù)據(jù)動(dòng)態(tài)更新Spinner的適配器,您需要首先創(chuàng)建一個(gè)Spinner,然后創(chuàng)建一個(gè)適配器并將其與Spinner關(guān)聯(lián)

  1. 在布局文件中添加Spinner:
<Spinner
    android:id="@+id/my_spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
  1. 在Activity或Fragment中初始化Spinner:
Spinner mySpinner = findViewById(R.id.my_spinner);
  1. 創(chuàng)建一個(gè)適配器,例如ArrayAdapter,用于顯示數(shù)據(jù)。確保在創(chuàng)建適配器時(shí)傳入正確的上下文、列表項(xiàng)布局和數(shù)據(jù)源。
List<String> dataList = new ArrayList<>();
dataList.add("Item 1");
dataList.add("Item 2");
dataList.add("Item 3");

ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, dataList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  1. 將適配器設(shè)置為Spinner的適配器:
mySpinner.setAdapter(adapter);
  1. 當(dāng)數(shù)據(jù)發(fā)生變化時(shí),通知適配器進(jìn)行更新:
// 更新數(shù)據(jù)列表
dataList.add("New Item");

// 通知適配器數(shù)據(jù)已更改
adapter.notifyDataSetChanged();

現(xiàn)在,每當(dāng)數(shù)據(jù)發(fā)生變化時(shí),只需調(diào)用adapter.notifyDataSetChanged()即可更新Spinner的適配器。這將使Spinner顯示最新的數(shù)據(jù)。

0