Android---24---Spinner的两种用法
Spinner是一个列表选择框,它有两种用法:
一种是使用android:entries属性的,一种是不使用该属性,通过动态的添加Adapter来实现的。
第一种:
MainActivity.java:
import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener{ private Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner = (Spinner) findViewById(R.id.spinner); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub String tip = spinner.getSelectedItem().toString(); Toast.makeText(MainActivity.this, tip, 0).show(); } }
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.spinnerdemo.MainActivity" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="选择一个省份" /> <Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:entries="@array/province" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="确定" /> </LinearLayout>
province.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="province"> <item >四川</item> <item >山东</item> <item >河北</item> <item >广东</item> </string-array> </resources>
第二种:
MAinActivity.java:
import android.R.anim; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner = (Spinner) findViewById(R.id.city); Button button = (Button) findViewById(R.id.button); String arr[] = { "北京", "上海", "广州", "深圳" }; // 创建ArrayAdapter对象 ArrayAdapter<String> adapter = new ArrayAdapter<String>( MainActivity.this, android.R.layout.simple_list_item_multiple_choice, arr); spinner.setAdapter(adapter); button.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub String tip = spinner.getSelectedItem().toString(); Toast.makeText(MainActivity.this, tip, 0).show(); } }
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.spinnerdemo2.MainActivity" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="选择一个城市" /> <Spinner android:id="@+id/city" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="确定" /> </LinearLayout>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。