Android中Spanner获取选中内容和选中位置,根据位置选择对象

作为一名菜鸟,关于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>


activity_main.xml

<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>


MainActivity.java

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
 		}
 	}
}




版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(android)