【问题标题】:Global variable inside Spinner onItemSelected does not workSpinner onItemSelected 内的全局变量不起作用
【发布时间】:2014-11-13 16:14:08
【问题描述】:

我一直在考虑这个问题,但真的无法弄清楚问题所在。第一个代码片段适用于我的一个活动。 selectedUser 是全局声明的,我可以在任何地方使用它。

        spUsers.setAdapter(new MyAdapter(this, R.layout.user_sp_row,userArray));
    spUsers.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
            int index = spUsers.getSelectedItemPosition();
            selectedUser = userList.get(index).get(Constants.TAG_UNAME);
        }

        @Override
        public void onNothingSelected(AdapterView<?> parentView) {
            selectedUser = "";
        }

    });

尽管它看起来与我编写的其他代码相同,但此代码不起作用。 selectedCat 也是全局声明的。问题是值是在 onItemSelected 方法中设置的,但是一旦离开方法 selectedCat 就是一个空字符串。

        spCat.setAdapter(new MyAdapter(this, R.layout.category_sp_row,tempArray));
    spCat.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
            int index = spCat.getSelectedItemPosition();
            selectedCat = categoryList.get(index).get(Constants.TAG_UPID);
        }

        @Override
        public void onNothingSelected(AdapterView<?> parentView) {
            selectedCat = "";
        }

    });

【问题讨论】:

  • “一旦离开方法”是什么意思,你想用 selectedCat 做什么?
  • 当我把 bt91.setText(selectedCat);在 onItemSelected 方法中,它显示了 selectedCat 应该包含的文本,但是当我将它放在 } 之后时;或在我的代码中的任何其他地方它不起作用它不显示任何文本。
  • 去掉 selectedCat = "";看看会不会有什么不同?
  • 不,它仍然不起作用。不过感谢您的快速回复。
  • 不知道为什么它不起作用。我刚刚查看了我在我的应用程序中实现的微调器,我只是在 onItemSelected 方法中对所选项目做所有我需要做的事情。

标签: android global-variables spinner onitemselectedlistener


【解决方案1】:

当你可以使用onItemSelected()方法中提供的位置整数时,我不知道为什么要使用int index = spUsers.getSelectedItemPosition();来获取索引。

【讨论】:

  • 确实是这样,但我只是在玩弄这个工作:)
【解决方案2】:

我确实做了所有需要在 setOnItemSelectedListener() 中完成的工作。

Ty DrkStr

【讨论】:

    猜你喜欢
    • 2013-07-13
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多