天天看點

android中Spinner的使用

目的:列印在下拉框中顯示的内容

layout中的布局

<Spinner
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ui_sp"/>
           

Mainactivity中的代碼

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
	Spinner spinner = (Spinner)findViewById(R.id.ui_sp);//擷取spinner元件的id 用于以後對其操作
        final ArrayList<String> arrayList = new ArrayList<String>();//建立數組清單 用來存放以後要顯示的内容
        arrayList.add("下拉框1");//添加要顯示的内容
        arrayList.add("下拉框2");
        arrayList.add("下拉框3");

        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,arrayList);//建立擴充卡  this--上下文  android.R.layout.simple_spinner_item--顯示的模闆   arrayList--顯示的内容
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//設定下拉之後的布局的樣式 這裡采用的是系統的一個布局
        spinner.setAdapter(arrayAdapter);//将擴充卡給下拉框
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {//當改變下拉框的時候會觸發
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {//改變内容的時候
                Toast.makeText(MainActivity.this, arrayList.get(position), Toast.LENGTH_LONG).show();//列印所選中的東西arrayList.get(position)--position--數組中第幾個是選中的
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {//沒有改變的時候


            }
        });
    }