Spinner控件的学习

来源:互联网 发布:陈都灵知乎 编辑:程序博客网 时间:2024/06/05 17:52

最简单的:直接加控件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"   >    <Spinner        android:id="@+id/spinner"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:entries="@array/languages">        </Spinner></LinearLayout>
<string-array name="languages">    <item>c语言</item>    <item>java </item>    <item>php</item>    <item>xml</item>    <item>html</item></string-array>

其中android:entries="@array/languages"表示Spinner的数据集合是从资源数组languages中获取的,languages数组资源定义在values/arrays.xml中:

这样没有点击事件的简单例子完成了,加点击事件

 spinner.setOnItemSelectedListener(this);//
spinner.setOnItemClickListener(this);在spinner不能用java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner.
   
 spinner.setOnItemSelectedListener(this);}@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {}@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {    String[] stringArray = getResources().getStringArray(R.array.languages);    Toast.makeText(this, "你点击的是" + stringArray[position], Toast.LENGTH_SHORT).show();}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}




一般我们都是动态获取数据,所以要设置adapter

String[] stringArray = getResources().getStringArray(R.array.languages);ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, stringArray);adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);spinner.setAdapter(adapter);


0 0
原创粉丝点击