一:
activity_main.xml里:
<Spinner
android:id="@+id/sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World!"
/>
二:
MainActivity.java里面:
/*
*演示spinner的使用
*/
public class MainActivity extends AppCompatActivity {
private Spinner spinner;
private String[] plantes;
private ArrayAdapter<String> adapter;
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner=findViewById(R.id.sp);
//1.准备要加载的数据源
plantes=getResources().getStringArray(R.array.plantes_array);
//2.将数据源的数据加载到适配器
adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item,plantes);
//3.将适配器的数据加载到控件adapter中
spinner.setAdapter(adapter);
//表示spinner控件中item被选中时触发的监听事件
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
/*
AdapterView<?> parent,表示当前触发事件的适配器控件对象spinner
View view ,表示当前被选择的item的对象
int position,表示当前被选中的item下标
long id 表示当前被选择item的id
s1 s2 s3是三种方法监听
*/
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String s1=plantes[position];
String s2=adapter.getItem(position);
String s3=spinner.getItemAtPosition(position).toString();
Toast.makeText(MainActivity.this,"s1="+s1+",s2="+s2+",s3="+s3,Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
/**
* A native method that is implemented by the 'native-lib' native library,
* which is packaged with this application.
*/
public native String stringFromJNI();
}
三:value的strings.xml里面,:
<resources>
<string name="app_name">spinnerdemo</string>
<string-array name="plantes_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
</resources>