首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android微调:获取selected item change事件

Android微调:获取selected item change事件
EN

Stack Overflow用户
提问于 2009-08-26 20:53:47
回答 12查看 544.7K关注 0票数 439

当选定项发生更改时,如何设置微调器的事件侦听器?

基本上,我正在尝试做的事情与以下内容类似:

代码语言:javascript
复制
spinner1.onSelectionChange = handleSelectionChange;

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

回答 12

Stack Overflow用户

发布于 2013-03-27 19:15:19

您可以在您的活动中实现AdapterView.OnItemSelectedListener类。

然后在onCreate()中使用下面这一行

代码语言:javascript
复制
Spinner spin = (Spinner) findViewById(R.id.spinner);
spin.setOnItemSelectedListener(this);

然后覆盖这两个方法:

代码语言:javascript
复制
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
    selection.setText(items[position]);
}

public void onNothingSelected(AdapterView<?> parent) {
    selection.setText("");
}
票数 24
EN

Stack Overflow用户

发布于 2012-12-10 13:41:50

找到您的微调器名称和id,然后实现此方法。

代码语言:javascript
复制
spinnername.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
    }
});
票数 12
EN

Stack Overflow用户

发布于 2016-08-23 21:02:20

在onCreate或onStart中设置OnItemSelectedListener都无关紧要-在Activity创建或启动期间(分别)仍然会调用它。

所以我们可以在onCreate (而不是onStart!)中设置它。

只需添加一个标志来确定第一次初始化:

代码语言:javascript
复制
private Spinner mSpinner;
private boolean mSpinnerInitialized;

然后在onCreate (或onCreateView)中只需:

代码语言:javascript
复制
mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                if (!mSpinnerInitialized) {
                    mSpinnerInitialized = true;
                    return;
                }

                // do stuff
            }

            public void onNothingSelected(AdapterView<?> adapterView) {
                return;
            }
        });
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1337424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档