java - Android 旋转器 "onclicklistener"问题

标签 java android

我正在使用 Spinner、光标和适配器。

我想为微调器设置一个点击监听器,以便一旦用户从微调器中选择一个项目,它就会获取当前选定的项目,然后执行一些其他任务(所有这些额外的代码都很好,这只是我的一个问题我有)....它有点有效,但是,一旦我声明 setOnItemSelectedListener 回调,由于光标已经被填充,一旦应用程序启动,该事件就会被触发。

我想我需要一种方法来定义光标而不选择初始项目,以便事件不会触发(因为不会选择项目)。或者还有其他更好的方法来实现这一目标吗?

基本上,就目前情况而言,一旦应用程序加载,setOnItemSelectedListener 函数就会触发,因为光标正在被填充(我认为)。此外,忽略事件触发得太快的事实,如果我随后在微调器中选择“相同”项目,则它不会触发事件,因为该项目没有更改。我应该使用不同的回调而不是 setonitemslectedlistener 吗?这是我到目前为止的代码。

            c = db.getallrecents();
    startManagingCursor(c);

    busnumspinner = (Spinner) findViewById(R.id.Spinner01);

        SimpleCursorAdapter spinneradapter = new SimpleCursorAdapter(this,
                R.layout.lvlayout, c, spincol, spinto);

    busnumspinner.setAdapter(spinneradapter);


    busnumspinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
            String spinnerString = null;
            Cursor cc = (Cursor)(busnumspinner.getSelectedItem());
            if (cc != null) {
                spinnerString = cc.getString(
                    cc.getColumnIndex("busnum"));
                text = spinnerString;
            }

            showDialog(DATE_DIALOG_ID);

        }

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

最佳答案

这已经在 question 中讨论过。看看那里,尽管它的答案与blindstuff 给出的答案类似。

编辑:

如果 onItemSelectedListener 在您需要时没有触发,那么您可能需要在下拉列表的每个文本项中使用 onClickListener 并获取微调器所选项目的当前位置。问题是,正如所说的here spinner 不支持此事件,但也许您可以通过执行类似于此 stackoverflow question 中解释的操作来获取它。我还没有尝试过,所以我不确定它是否有效。

关于java - Android 旋转器 "onclicklistener"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4287466/

相关文章:

android - 谷歌仅将灰色背景映射为 APK

Java类转化为Jasmin汇编代码

java - JPA 查询子句 Where

java - ImageAdapter 不能应用于 Fragment 类

java - 在android编码中覆盖com.android.View的onScroll方法?

android - 排除xLarge screen for android 2.1 SDK版本

android - ImageView invisible 在 setVisibility() 之后不可见

android - 广播接收器不会收到 Intent

java - JAX-WS (JAXB) : How to marshall java. util.Date 到 xs :anyType as xs:date instead of xs:dateTime?

java - 如何创建 POJO?