作为一名菜鸟,关于spanner获取选中的内容文字代码,网上后很多
但是根据给出的位置来自动选择对象,这个代码一直没找到
后来找人问了问,才知道就一句话的事,特意在这里记录下
array.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="elementsArray">
<item>金</item>
<item>木</item>
<item>水</item>
<item>火</item>
<item>土</item>
</string-array>
</resources>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
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.spannerposition.MainActivity" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_elements"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择你喜欢的五行:"
android:textSize="17sp"/>
<Spinner
android:id="@+id/s_elements"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:entries="@array/elementsArray"
android:textColor="#000000"
android:textCursorDrawable="@null"
android:textSize="17sp" />
<Button
android:id="@+id/bn_s_select3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="选中第三个"
android:textSize="17sp"/>
</LinearLayout>
</RelativeLayout>
package com.example.spannerposition;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;
public class MainActivity extends Activity {
private Spinner s_elements;
private int s_position;//记录选择的位置
private String element;
private Button bn_select3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.s_elements = (Spinner) super.findViewById(R.id.s_elements);
this.s_elements.setOnItemSelectedListener(new OnItemSelectedListenerImpl());
this.bn_select3 = (Button) super.findViewById(R.id.bn_s_select3);
//button监听
bn_select3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
s_position = 2;
s_elements.setSelection(s_position, true);//设置为选中s_posiiton位置的元素
}
});
}
// 下拉框选择事件
private class OnItemSelectedListenerImpl implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
element = parent.getItemAtPosition(position).toString();// 得到spanner的值
s_position = position;
Toast.makeText(MainActivity.this, "选择的元素是:" +
element,Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
}
}