Spinner 组件的简单使用
Spinner 有两种使用方式:
第一种是在res下的values下的Strings文件XML 中添加 :
<string-array name="color">
<item>red</item>
<item>yellow</item>
<item>blue</item>
</string-array>
然后 在layout文件中 Spinner中添加entries属性即可
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/color"/>
第二种是 使用适配器给Spinner 适配数据,具体代码如下:
package com.example.spinnertest;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity {
private Spinner mSpinner;
private TextView mTextView;
private ArrayAdapter<String> adapter;
private String[] color;
private ArrayList<String> allColor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 在xml 中添加Spinner 组件后, 获得组件对象
mSpinner = (Spinner) findViewById(R.id.spinner1);
mTextView = (TextView) findViewById(R.id.textView1);
//设置数据源
color =new String []{"红色","黄色","蓝色","绿色","白色","黑色"};
allColor = new ArrayList<String>();
for(int i=0;i<color.length;i++){
allColor.add(color[i]);
}
//设置适配器 new ArrayAdapter对象并将allColor传入
adapter = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item,allColor);
//给Spinner组件添加适配器
mSpinner.setAdapter(adapter);
//注册监听事件
mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override//被选择 事件
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
mTextView.setText("选择:"+color[position]);
}
@Override// 未选中
public void onNothingSelected(AdapterView<?> parent) {
// do something
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}