为了账号安全,请及时绑定邮箱和手机立即绑定

Android旋转器:获取选定的项更改事件

Android旋转器:获取选定的项更改事件

繁花不似锦 2019-07-26 19:14:54
Android旋转器:获取选定的项更改事件当所选项发生更改时,如何为旋转器设置事件侦听器?基本上,我想做的是类似这样的事情:spinner1.onSelectionChange = handleSelectionChange;void handleSelectionChange(Object sender){     //handle event}
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

以前的一些答案是不正确的。它们适用于其他小部件和视图,但用于旋转小部件明确指出:

旋转器不支持项目单击事件。调用此方法将引发异常。

更好地利用OnItemSelectedListener()相反:

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
    }});

这对我有用。

注意,在构建视图时也会调用onItemSelected方法,因此可以考虑将其放入其中onCreate()方法呼叫。




查看完整回答
反对 回复 2019-07-27
?
LEATH

TA贡献1936条经验 获得超6个赞

Spinner spnLocale = (Spinner)findViewById(R.id.spnLocale);spnLocale.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
        // Your code here
    } 

    public void onNothingSelected(AdapterView<?> adapterView) {
        return;
    } });

注:记住一件事。

纺纱机OnItemSelectedListener事件将执行两次:

  1. 旋转初始化
  2. 用户手动选择

尝试使用标志变量来区分这两者。




查看完整回答
反对 回复 2019-07-27
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

你可以实现AdapterView.OnItemSelectedListener在你的活动中上课。

然后在onCreate()

Spinner spin = (Spinner) findViewById(R.id.spinner);spin.setOnItemSelectedListener(this);

然后重写这两个方法:

public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
    selection.setText(items[position]);}public void onNothingSelected(AdapterView<?> parent) {
    selection.setText("");}



查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 315 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信