你的位置:首页 > 操作系统

[操作系统]Android spinner控件


spinner控件是Android中下拉控件,现在介绍它两种用法。第一种,从资源文件中获取下拉值;第二种,从代码中获取下拉值。

第一种,首先要在资源文件中把值写好:

<?"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();      }    });  }  }