java spinner

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hk121/article/details/84584930
 

一:

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>

猜你喜欢

转载自blog.csdn.net/hk121/article/details/84584930