spinner控件是Android中下拉控件,现在介绍它两种用法。第一种,从资源文件中获取下拉值;第二种,从代码中获取下拉值。
第一种,首先要在资源文件中把值写好:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">spinner</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> <array name="city"> <item>上海</item> <item>北京</item> <item>广州</item> </array> </resources>
在布局文件中引入资源文件中已写好的值:
<Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="22dp" android:layout_marginTop="49dp" android:entries="@array/city" />
这样,第一种就完成了。
第二种方式:
package com.example.spinner; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends Activity { private Spinner sp; private Button btn; String cardNumber; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sp=(Spinner) findViewById(R.id.spinner1); final String[] roles={"管理员","会员","游客"}; ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, android.R.id.text1, roles); sp.setAdapter(adapter); //Spinner的监听事件 sp.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { cardNumber = MainActivity.this.getResources().getStringArray(R.array.city)[arg2]; //cardNumber = roles[arg2]; //设置显示当前选择的项 //arg0.setVisibility(View.VISIBLE); } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO 自动生成的方法存根 } }); //Button的监听事件 btn=(Button) findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO 自动生成的方法存根 Toast.makeText(MainActivity.this, cardNumber, Toast.LENGTH_SHORT).show(); } }); } }
时间: 2024-10-05 07:06:54