仅在从网络获取数据后显示微调器选项

Show spinner options only after fecthing data from web

如何仅在从 Web 上获取其未来项目后才显示微调器选项?

如果用户触摸微调器,我想先从网络上获取数据,解析它并设置为微调器项目。获取/解析工作正常,但问题是微调器选项显示得太早。我希望它仅在 获取数据后 出现。

所以,简而言之,我想要一种方法来防止在从 Web 上获取列表之前弹出微调器。

没你想的那么难。当您开始登录时 activity 将微调器清空并再次将其填充到 AsyncTask 的 onPostExecute 方法中。

就是这样。

经过几个小时的努力,我终于做到了。

结果如下:

mySpinner.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            boolean shouldHide = false;
            if (event.getAction() == MotionEvent.ACTION_UP) {
                shouldHide = someBooleanMethod();
            }

            return shouldHide;
        }
    });

private boolean someBooleanMethod(){
        if(pseudoSpinnerItemCount == 1){
            //doStuff
            return true;
        }else{
            // let the user select an option
            return false;
        }
    }

在android.developer

View.OnTouchListener

呼叫 'onTouch' 和

Returns
True if the listener has consumed the event, false otherwise.

有了这些信息,我只需要创建一些代码,如果我想显示这些项目,returns 为 false,否则为 true。

出于某种原因,我觉得不应该像这样使用它,但它完全符合我的要求。