Android-Spinner [使用C# And Java实现]

效果如下:

技术分享

C#实现代码

using Android.App;
using Android.OS;
using Android.Widget;

namespace SpinnerDemo
{
    [Activity(Label = "@string/ApplicationName", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        private Spinner _citySpinner;
        private TextView _cityNameView;
        private ArrayAdapter<string> _cityInfos;

      
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);
            _citySpinner = FindViewById<Spinner>(Resource.Id.sp_city);
            _cityNameView = FindViewById<TextView>(Resource.Id.txt_cityName);

            _cityInfos = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerDropDownItem);
            _cityInfos.Add("成都");
            _cityInfos.Add("兰州");
            _cityInfos.Add("武汉");
            _cityInfos.Add("上海");
            _citySpinner.Adapter = _cityInfos;
            _citySpinner.ItemSelected += CitySelectedEvent;
        }

        private void CitySelectedEvent(object sender, AdapterView.ItemSelectedEventArgs e)
        {
            _cityNameView.Text = _cityInfos.GetItem(e.Position);
        }
    }
}

Java实现代码

package com.example.halower.spinnerdemo;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
    private Spinner _citySpinner;
    private TextView _cityNameView;
    private ArrayAdapter<String> _cityInfo;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        _citySpinner =(Spinner)findViewById(R.id.sp_city);
        _cityNameView =(TextView) findViewById(R.id.txt_cityName);

        _cityInfo =new ArrayAdapter<>(this,R.layout.support_simple_spinner_dropdown_item);
        _cityInfo.add("成都");
        _cityInfo.add("兰州");
        _cityInfo.add("武汉");
        _cityInfo.add("上海");
        _citySpinner.setAdapter(_cityInfo);
        _citySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                _cityNameView.setText(_cityInfo.getItem(position));
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
    }
}

LayOut

<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <Spinner
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/sp_city"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_toEndOf="@+id/txt_cityName"
        android:layout_toRightOf="@+id/txt_cityName" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="城市"
        android:id="@+id/txt_cityName"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。