栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

安卓 Spinner的用法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安卓 Spinner的用法

首先在资源文件中定义字符串



    
        123
        456
        789
    

    
        aaa
        bbb
        ccc
    


1.第一种根据前端的选择在后端获取传来的字符串

在布局文件中创建控件

    
//类中定义
Spinner spinner;

//creat方法中绑定资源
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login_constraintlayout);
        spinner=findViewById(R.id.spinner);
        //监听方法中可以搜索到三个,但前两个会报超时错误,所以不能用
        spinner.setOnItemClickListener();
        spinner.setOnClickListener();
        spinner.setOnItemSelectedListenerspinner.setOnItemSelectedListener(new                 AdapterView.OnItemSelectedListener() {
            @Override
            //后两个参数分别是下标和id,一般最后一个没用
            public void onItemSelected(AdapterView adapterView, View view, int pos, long id) {
                Log.d("test", "onItemSelected: "+pos+"--"+id);//获取id
                Log.d("test", "onItemSelected: "+spinner.getSelectedItem().toString());//获取前端选择的项
            }

            @Override
            public void onNothingSelected(AdapterView adapterView) {

            }




}

2.根据前端下标在后端获取值

String banji[];//定义一个数组准备绑定资源文件中的字符串

//creat中绑定资源文件
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login_constraintlayout);
        banji=getResources().getStringArray(R.array.banji);

//通过索引下标获取,数组中字符串
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView adapterView, View view, int pos, long id) {
                Log.d("test", "onItemSelected: "+banji[pos]);
            }
            @Override
            public void onNothingSelected(AdapterView adapterView) {

            }

        });
}

3.Spinner动态赋值方法

基本思路

1.删除android:entries="@array/xuexiao"行

 

2.在类中定义spinner和适配器

//绑定
spinner=findViewById(R.id.spinner);
//创建适配器,第一个参数是上下文,第二个是引用安卓内部布局,可以重写,第三个是给的数组
ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,banji);
//送入适配器
spinner.setAdapter(arrayAdapter);

基本思路

//获得一个Spinner视图
Spinner list=findbyViewid(R.id.my_list);
//实现一个adapter的接口的实例,将某些数据转换为spinner视图中的选项。
ArrayAdapter adapter=new ArrayAdapter(this,layoutId,array);

//调用Spinner
void setAdapter(SpinnerAdapter adapter)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/949027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号