Android的微调:获取所选择的项目更改事件 [英] Android Spinner: Get the selected item change event

查看:168
本文介绍了Android的微调:获取所选择的项目更改事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您如何设置的事件侦听器的微调时,所选项目的变化?

基本上,我试图做的是类似这样的:

  spinner1.onSelectionChange = handleSelectionChange;

无效handleSelectionChange(对象发件人){
    //处理事件
}
 

解决方案

有些previous答案是不正确的。他们的工作对其他部件和看法,但对于文件<一个href="http://developer.android.com/reference/android/widget/Spinner.html#setOnItemClickListener%28android.widget.AdapterView.OnItemClickListener%29">Spinner小部件明确规定:

  

一个微调不支持的项目点击   事件。调用此方法将引发   一个例外。

更好地利用<一href="http://developer.android.com/reference/android/widget/AdapterView.OnItemSelectedListener.html">OnItemSelectedListener()而不是:

  spinner.setOnItemSelectedListener(新OnItemSelectedListener(){
    @覆盖
    公共无效onItemSelected(适配器视图&LT;&GT; parentView,查看selectedItemView,INT位置,长的id){
        //你的code在这里
    }

    @覆盖
    公共无效onNothingSelected(适配器视图&LT;&GT; parentView){
        //你的code在这里
    }

});
 

这对我的作品。

请注意,还调用onItemSelected方法时的观点正在构建,这样你就可以考虑把它放在的onCreate()方法调用。

How can you set the event listener for a Spinner when the selected item changes?

Basically what I am trying to do is something similar to this:

spinner1.onSelectionChange = handleSelectionChange;

void handleSelectionChange(Object sender){
    //handle event
}

解决方案

Some of the previous answers are not correct. They work for other widgets and views, but the documentation for the Spinner widget clearly states:

A spinner does not support item click events. Calling this method will raise an exception.

Better use OnItemSelectedListener() instead:

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
        // your code here
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) {
        // your code here
    }

});

This works for me.

Note that onItemSelected method is also invoked when the view is being build, so you can consider putting it inside onCreate() method call.

这篇关于Android的微调:获取所选择的项目更改事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆